萌新求助,20 pts
  • 板块P1537 弹珠
  • 楼主cst_123
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/8/1 19:42
  • 上次更新2023/11/3 06:29:37
查看原帖
萌新求助,20 pts
542266
cst_123楼主2023/8/1 19:42
#include<bits/stdc++.h>
using namespace std;
long long n,m,num,cnt,sum,now,a[1010];
bool p[1200010];
int main(){
	num=1;
	while(cin>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]&&(a[1]||a[2]||a[3]||a[4]||a[5]||a[6])){
 	     sum=0;memset(p,0,sizeof p);
		 for(int i=1;i<=6;i++)sum+=a[i]*i;
		 now=1;
		 cout<<"Collection #"<<num<<":"<<endl;
         if(sum%2!=0){
			cout<<"Can't be divided.\n\n";
			continue;
		 }
		 else{
			p[0]=1;
		 	for(int i=1;i<=6;i++)
				for(int j=1;j<=a[i];j++)
					for(int k=sum/2;k>=i*j;k--)
							p[k]|=p[k-i*j];
	        if(p[sum/2]) cout<<"Can be divided.\n\n";
			else cout<<"Can't be divided.\n\n";
		}
		num++;
	}
	return 0;
}

2023/8/1 19:42
加载中...