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

来源:互联网 发布:it软件开发工程师 编辑:程序博客网 时间:2024/06/06 13:04

是简单的01背包问题,刚刚学了01背包....


ac代码:

#include <iostream>#include <queue>#include <string.h>#include <stdio.h>#include <stdlib.h>using namespace std;struct p{int pr,h,c;}q[105];int m,n,dp[105000];int main(){    int i,j,t,sum;    while(scanf("%d",&t)!=EOF&&t>0)    {        while(t--){        sum=0;        memset(dp,0,sizeof(dp));        scanf("%d%d",&n,&m);        for(i=0;i<m;i++)        {            scanf("%d%d%d",&q[i].pr,&q[i].h,&q[i].c);            sum=sum+q[i].pr*q[i].c;        }        for(i=0;i<m;i++)        {            for(int k=0;k<q[i].c;k++)            for(j=n;j>=q[i].pr;j--)            {                dp[j]=max(dp[j],dp[j-q[i].pr]+q[i].h);            }        }        printf("%d\n",dp[n]);        }    }    return 0;}


0 0
原创粉丝点击