hdu 1709——The Balance

来源:互联网 发布:网络不行怎么办 编辑:程序博客网 时间:2024/04/30 05:27

母函数

#include<iostream>#include<cstring>#include<cstdio>using namespace std;int c1[22222],c2[22222];int ans[22222];int zero=10001;int n;int num[11005];int main(){while(cin>>n){int m=0;for(int i=1;i<=n;i++)cin>>num[i],m+=num[i];memset(c1,0,sizeof(c1));memset(c2,0,sizeof(c2));for(int i=-num[1];i<=num[1];i+=num[1])c1[i+zero]=1;for(int i=2;i<=n;i++){for(int j=-m;j<=m;j++)for(int k=-num[i];j+k<=m&&k<=num[i];k+=num[i])c2[j+k+zero]+=c1[j+zero];for(int j=-m;j<=m;j++){c1[j+zero]=c2[j+zero];c2[j+zero]=0;}}int cnt=0;for(int i=1;i<=m;i++)if(c1[i+zero]==0)ans[++cnt]=i;if(cnt==0){cout<<"0"<<endl;continue;}cout<<cnt<<endl;cout<<ans[1];for(int i=2;i<=cnt;i++)printf(" %d",ans[i]);cout<<endl;}return 0;}


原创粉丝点击