4 条题解
-
1
#include<bits/stdc++.h> using namespace std; int v[500],a[10],dp[1000000]; int n,m,s; int main(){ // freopen("doll.in","r",stdin); // freopen("doll.out","w",stdout); for(int i=1;i<=6;i++){ cin>>a[i]; s+=a[i]i; }m=s/2; if(s%2){ cout<<"Can't be divided."; return 0; } for(int i=1;i<=6;i++){ int k=1,t=a[i]; for(k=1;k<=t;k=2){ v[n+1]=ik; n++; t-=k; } if(t>0){ v[n+1]=it; n++; } } for(int i=1;i<=n-1;i++){ for(int j=m;j>=v[i];j--){ dp[j]=max(dp[j],dp[j-v[i]]+v[i]); } }if(dp[m]==m){ cout<<"Can be divided."; }else{ cout<<"Can't be divided."; } return 0;
}
-
-2
- 1
信息
- ID
- 507
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 195
- 已通过
- 27
- 上传者