#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int n[7];
int num = 1; //计数
while(cin>>n[1]>>n[2]>>n[3]>>n[4]>>n[5]>>n[6]){
int sum = n[1]+2*n[2]+3*n[3]+4*n[4]+5*n[5]+6*n[6];
if(sum==0) break;
if(sum%2!=0){
cout<<"Collection #"<<num<<":"<<endl;
cout<<"Can't be divided."<<endl<<endl;
}
else {
int mid=sum / 2;
int max=0; //记录两组中较大的一组的组值
bool opt[60000];
memset(opt,0,60000);
opt[0]=true;
for(int i=1;i<=6;i++)
{
if(n[i]>0)
{
for(int j=max;j>=0;j--)
{
if(opt[mid]) break;
if(opt[j])
{
for(int k=1;k<=n[i];k++)
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载