枚举的错误:
View Code
#include#include using namespace std;struct Node{ int s;//time start int e;// end int c;//money}N[1010];bool cmp(Node a,Node b){ if(a.s b.c)return true; return false;}int main(){ int T,m,n; int max,mx; int js,k; scanf("%d",&T); while(T--) { scanf("%d %d",&m,&n); for(int i=0;i max)max=mx; } printf("%d\n",max); } return 0;}
测试数据:
1
7 3
1 3 5
4 6 5
4 7 10
正确做法DP:
#include#include #include using namespace std;const int N=110;int dp[N];struct Node{ int s;//start int e;//end int c;//cost} node[1010];bool cmp(Node a,Node b){ if(a.e i)break; dp[i]=max(dp[i],dp[node[j].s-1]+node[j].c); } //for(int j=;j;j++) printf("%d\n",dp[m]); } return 0;}