首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

hdu 1712 ACboy needs your help(小弟我的第一个分组背包:每组至多一个)

2012-10-27 
hdu 1712 ACboy needs your help(我的第一个分组背包:每组至多一个)ACboy needs your helpTime Limit: 100

hdu 1712 ACboy needs your help(我的第一个分组背包:每组至多一个)

ACboy needs your help

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

#include <iostream>#include <stdio.h>#include <memory.h>using namespace std;int a[105][105];int bag[105];int N, V;void _gro_bag() //分组背包{ int i, j, k; memset(bag, 0, sizeof(bag)); for(i = 1; i <= N; i++) //第一重循环是:分组数 { for(j = V; j >= 0; j--) //第二重循环是:容量体积 { for(k = 1; k <= V; k++) //第三重循环是:属于i组的k { if(j >= k) bag[j] = max(bag[j], bag[j-k] + a[i][k]); } } }}int main(){ int i, j; while(scanf("%d%d", &N, &V), N+V) { for(i = 1; i <= N; i++) for(j = 1; j <= V; j++) scanf("%d", &a[i][j]); _gro_bag(); printf("%d\n", bag[V]); } return 0;}?

热点排行