hdu 1059 Dividing
来源:互联网 发布:淘宝男装店铺排行榜 编辑:程序博客网 时间:2024/05/21 22:47
题意:有一些价值为1~6的大理石,问两个人能不能分到总价值一样的石头。
思路:dp(类似01背包)。把可以取到的值标记起来,需要稍作优化。
#include<cstdio>#include<iostream>#include<algorithm>#include<string.h>#include<string>using namespace std;int a[7];bool dp[120010];int main(){int cas=0;while(cin>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]){cas++;int sum=0;for(int i=1;i<=6;i++){sum+=a[i]*i;}if(sum==0)break;if(sum&1){printf("Collection #%d:\n",cas);printf("Can't be divided.\n\n");continue;}memset(dp,0,sizeof(dp));dp[0]=1;int end=0;for(int i=1;i<=6;i++){if(a[i])for(int j=end;j>=0;j--){int tmp=a[i];if(dp[j]){while(tmp--){dp[j+i*(tmp+1)]=1;}}}if(dp[sum/2])break;end=end+i*a[i];}if(dp[sum/2]){printf("Collection #%d:\n",cas);printf("Can be divided.\n\n");}else{printf("Collection #%d:\n",cas);printf("Can't be divided.\n\n");}}return 0;}
0 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
- PV操作——软考探究(五)
- java 异常捕获和捕获中的一些陷阱
- 金钱转换
- Eclipse:引用一个项目作为类库(图文教程)
- nyoj267中缀式变后缀式(二叉树)(上)
- hdu 1059 Dividing
- 封装续集
- 输入两个整数n和m,从数列1,2,······,n中随意取几个整数,使其和等于m,列出所有的可能组合。
- Android_EditText
- 基于xml配置spring
- UICollectView小例子
- iOS UIslider
- 不区分大小写进行替换
- cocos2d-x3.x之helloWorld