hdu 1059 Dividing
来源:互联网 发布:有关作文的软件 编辑:程序博客网 时间:2024/05/22 09:35
有六种大理石块,每种价值最大20000,按总价值进行平分
不需要按每种价值的大理石多大20000块进行平分,只需要对一个最低度的大理石数n(0<=n<=a[i])进行平分,其余部分可以直接平分,显然n是偶数
经过测试n=6;
#include<stdio.h>#include<string.h>int main(){ int dp[130],i,j,a[7],v[50],k,sum,t=0; while(scanf("%d%d%d%d%d%d",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6]),a[1]||a[2]||a[3]||a[4]||a[5]||a[6]) { memset(dp,0,sizeof(dp)); k=0;sum=0;t++; for(i=1;i<=6;i++) { if(a[i]!=0&&a[i]%6==0) a[i]=6; else a[i]=a[i]%6; for(j=0;j<a[i];j++) { v[k++]=i;sum+=i; } } dp[0]=1; printf("Collection #%d:\n",t); if(sum%2==1){printf("Can't be divided.\n\n");continue;} for(i=0;i<k;i++) { for(j=sum;j>=v[i];j--) if(dp[j-v[i]]==1) dp[j]=1; } if(dp[sum/2]==1)printf("Can be divided.\n\n"); else printf("Can't be divided.\n\n"); } return 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
- 资源
- 1009—FatMouse' Trade
- 摩尔定律简介
- Kiki & Little Kiki 2 hdu 2276
- hdu 1045 Fire Net
- hdu 1059 Dividing
- hdu 3466 Proud Merchants
- hdu 3496 Watch The Movie
- hdu 1257 最少拦截系统
- linux下python学习笔记(三)基本概念1
- linux 关机命令
- CSS 选择符
- jquery知识点总结
- Linux Netcat命令