hdu-2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活

来源:互联网 发布:1521端口入侵 编辑:程序博客网 时间:2024/06/06 00:26

我想到的根本都不是背包问题,看来是我想得太简单了。。。

代码,借鉴别人的

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node{   int p,h,c,value;       }s[300];int main(){    int N,m;    int n,sum;    int dp[300];    int i,j,k,t,num;    scanf("%d",&N);    while(N--){       sum=0;       scanf("%d %d",&n,&m);       memset(dp,0,sizeof(dp));                  for(i=0;i<m;i++)       {          scanf("%d %d %d",&s[i].p,&s[i].h,&s[i].c);                 //      printf("%.2lf\n",s[i].value);       }     //  sort(s,s+m,cmp);   //    for(i=0;i<m;i++)    //     printf("%.2lf %.2lf %.2lf %.2lf %.2lf\n",s[i].p,s[i].h,s[i].c,s[i].p*s[i].c,s[i].c*s[i].h);      for(i=0;i<m;i++)       for(k=0;k<s[i].c;k++)         for(j=n;j>=s[i].p;j--)           dp[j]=max(dp[j],dp[j-s[i].p]+s[i].h);      printf("%d\n",dp[n]);    }  //  while(1);    return 0;}

0 0