1 条题解
-
0
C++ :
#include<iostream> using namespace std; const int N(105); int t[N*N],len[N]; bool f[N*N],g[N*N]; //ifstream cin("castle.in"); //ofstream cout("castle.out"); int main() { int n; cin>>n; fill(f,f+N*N,true); for (int k,x,i=1;i<=n;i++) { fill(g,g+N*N,false); k=0; while (cin>>x&&x!=-1) len[++k]=x; t[0]=1; t[1]=0; for (int i=1;i<=k;i++) for (int j=1,m=t[0];j<=m;j++) if (!g[t[j]+len[i]]) g[t[j]+len[i]]=true,t[++t[0]]=t[j]+len[i]; for (int i=1;i<N*N;i++) f[i]=f[i]&&g[i]; } for (int j=N*N-1;j>=0;j--) if (f[j]) { cout<<j<<endl; break; } //system("pause"); return 0; }
- 1
信息
- ID
- 763
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者