Poj 1014 Dividing
来源:互联网 发布:网络受限 编辑:程序博客网 时间:2024/05/17 01:53
Dividing
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 47029 Accepted: 11761
Description
Marsha and Bill own a collection of marbles. They want to split the collection among themselves so that both receive an equal share of the marbles. This would be easy if all the marbles had the same value, because then they could just split the collection in half. But unfortunately, some of the marbles are larger, or more beautiful than others. So, Marsha and Bill start by assigning a value, a natural number between one and six, to each marble. Now they want to divide the marbles so that each of them gets the same total value. Unfortunately, they realize that it might be impossible to divide the marbles in this way (even if the total value of all marbles is even). For example, if there are one marble of value 1, one of value 3 and two of value 4, then they cannot be split into sets of equal value. So, they ask you to write a program that checks whether there is a fair partition of the marbles.
Input
Each line in the input file describes one collection of marbles to be divided. The lines contain six non-negative integers n1 , . . . , n6 , where ni is the number of marbles of value i. So, the example from above would be described by the input-line "1 0 1 2 0 0". The maximum total number of marbles will be 20000.
The last line of the input file will be "0 0 0 0 0 0"; do not process this line.
The last line of the input file will be "0 0 0 0 0 0"; do not process this line.
Output
For each collection, output "Collection #k:", where k is the number of the test case, and then either "Can be divided." or "Can't be divided.".
Output a blank line after each test case.
Output a blank line after each test case.
Sample Input
1 0 1 2 0 0 1 0 0 0 1 1 0 0 0 0 0 0
Sample Output
Collection #1:Can't be divided.Collection #2:Can be divided.
Source
Mid-Central European Regional Contest 1999
背包问题求是否有解(可达)
背包问题求是否有解(可达)
#include<stdio.h>#include<string.h>int v[120001];int a[7];int main(void){int i,j,k,s,tmp,flag,t=1;//freopen("d:\\in.txt","r",stdin);while(1){s=0;flag=0;for(i=1;i<=6;i++){scanf("%d",&a[i]);s+=a[i]*i;if(a[i])flag=1;}if(!flag)break;printf("Collection #%d:\n",t++);memset(v,0,sizeof(v));v[0]=1;if(!(s%2)){for(i=1;i<=6;i++){tmp=1;while(a[i]>=tmp){for(j=s;j>=tmp*i;j--){if(v[j-tmp*i])v[j]=1;}a[i]-=tmp;tmp*=2;}if(a[i])for(j=s;j>=a[i]*i;j--)if(v[j-a[i]*i])v[j]=1;}if(v[s/2])printf("Can be divided.\n\n");elseprintf("Can't be divided.\n\n");}elseprintf("Can't be divided.\n\n");}return 0;}
- POJ 1014 Dividing
- POJ 1014 Dividing
- poj 1014 Dividing
- poj 1014Dividing
- POJ 1014 Dividing
- POJ 1014 Dividing
- POJ 1014 Dividing
- poj 1014 Dividing
- Poj 1014 Dividing
- POJ 1014 Dividing
- POJ 1014 Dividing
- poj 1014 Dividing
- POJ-1014-Dividing
- POJ 1014 dividing
- poj 1014 Dividing
- POJ-1014-Dividing
- POJ 1014 -- Dividing
- POJ 1014 Dividing 解答
- ExtJs4中gird列中增加操作列,并给操作按钮绑定事件
- Unity3D游戏制作(四)——Asset Server搭建
- 基于ssh2架构的struts2验证框架错误解决
- 紫薇花开的季节(二)
- 让你认清楚JSP中的所有东西(java/JSP/EL/OGNL/JSTL/c标签/s标签/HTML/javascript/CSS)
- Poj 1014 Dividing
- linux su和sudo命令的区别
- 美国不道德的人体实验
- oracle union联合查询排序方式
- Debug Log没有生成?
- ASP.NET4:禁止模板控件生成外层表格元素
- Android按键消息传播流程(WindowManagerService.java)
- Linux脚本编写基础
- android之service