HDU 1059 Dividing
来源:互联网 发布:淘宝买苹果8可靠吗 编辑:程序博客网 时间:2024/06/07 03:13
多重背包,模板题,直接上代码
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int a[10],dp[300005];int main(){ int kase = 1; while(scanf("%d", &a[1]) != EOF) { int sum = a[1]; for(int i = 2; i <= 6; i++) { scanf("%d", &a[i]); sum += i*a[i]; } if(!sum) break; printf("Collection #%d:\n", kase++); if(sum & 1) { printf("Can't be divided.\n\n"); continue; } sum /= 2; memset(dp, 0, sizeof(dp)); for(int i = 1; i <= 6; i++) { if(i*a[i] >= sum) { for(int j = i; j <= sum; j++) dp[j] = max(dp[j], dp[j-i] + i); continue; } for(int k = 1; k <= a[i]; k *= 2) { for(int j = sum; j >= k*i; j--) dp[j] = max(dp[j], dp[j - k*i] + k*i); a[i] -= k; } if(a[i] > 0) for(int j = sum; j >= a[i]*i; j--) dp[j] = max(dp[j], dp[j - a[i]*i] + a[i]*i); } if(dp[sum] == sum) printf("Can be divided.\n"); else printf("Can't be divided.\n"); printf("\n"); } return 0;}
1 0
- hdu 1059 Dividing
- hdu 1059 Dividing
- hdu 1059 Dividing
- HDU 1059 Dividing
- hdu 1059 Dividing
- poj1014 &&hdu 1059dividing
- hdu 1059 Dividing
- hdu 1059 Dividing
- HDU-1059-Dividing
- hdu 1059 Dividing
- hdu 1059 Dividing
- hdu 1059 Dividing
- HDU - 1059 Dividing
- HDU 1059 Dividing
- hdu 1059 Dividing
- HDU--1059 Dividing
- hdu 1059 Dividing
- 【hdu 1059】Dividing
- Ubuntu 下安装和配置 Apache Maven
- 《App后台开发运维和架构实践》勘误
- Java基础_debug
- LeetCode Sort List(单链表归并排序)
- onethink打开调试面板也就是页面trace
- HDU 1059 Dividing
- June 11th 模拟赛C T2 Cowski Solution
- java android 面试题汇总
- java核心机制之GC
- Openvas使用
- 关于Android平台显示隐藏软键盘输入法的方法总结
- 程序员面试金典题解 原串翻转
- OCR svm opencv3.1
- 酒店管理系统程序