4 条题解

  • 1
    @ 2025-7-22 14:46:49

    #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;

    }

    信息

    ID
    507
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    (无)
    递交数
    195
    已通过
    27
    上传者