读书人

hdu 2191 珍惜现在感恩生活(小弟我

发布时间: 2012-11-01 11:11:31 作者: rapoo

hdu 2191 珍惜现在,感恩生活(我的第一个多重背包)

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

Time Limit: 1000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4215????Accepted Submission(s): 1690

#include <iostream>#include <stdio.h>#include <memory.h>using namespace std;int c[105], w[105], n[105];int bag[105];int N, V;void _mul_bag() //多重背包:直接转换成01背包(数据比较小){ int i, j, k; memset(bag, 0, sizeof(bag)); for(i = 0; i < N; i++) { for(k = 1; k <= n[i]; k++) { for(j = V; j >= c[i]; j--) { bag[j] = max(bag[j], bag[j-c[i]] + w[i]); } } }}int main(){ int i, t; scanf("%d", &t); while(t--) { scanf("%d %d", &V, &N); for(i = 0; i < N; i++) scanf("%d %d %d", &c[i], &w[i], &n[i]); _mul_bag(); printf("%d\n", bag[V]); } return 0;}

?

?

读书人网 >编程

热点推荐