1 条题解
-
0昌孝阳 (changxiaoyang) LV 10 @ 2023-10-1 16:56:10
。。。。。
#include<bits/stdc++.h> using namespace std; const int ll=1e6; int a[6]; int f[ll]; int v[1000]; int main(){ while(1){ memset(f,0,sizeof(f)); int sum=0,cnt=0; for(int i=1;i<=6;i++){ cin>>a[i]; sum+=a[i]*i; } if(!sum) break; for(int i=1;i<=6;i++){ int k=a[i],c=1; while(1){ if(k<c){ v[++cnt]=i*k; break; } k-=c; v[++cnt]=i*c; c*=2; } } f[0]=1; for(int i=1;i<=cnt;i++) for(int j=sum;j>=v[i];j--) f[j]|=f[j-v[i]]; if(sum&1) printf("Can't\n"); else{ if(f[sum/2]) printf("Can\n"); else printf("Can't\n"); } } return 0; }
- 1
信息
- ID
- 228
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- 递交数
- 9
- 已通过
- 4
- 上传者