记录编号 | 192634 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [NOIP 1996]砝码称重 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.002 s | ||
提交时间 | 2015-10-12 09:05:15 | 内存使用 | 0.31 MiB | ||
#include<cstdio> #include<iostream> #include<cmath> bool H[1010]; int s[10],ma=0,ans=0; int main() { freopen("fmcz.in","r",stdin); freopen("fmcz.out","w",stdout); H[0]=1; for(int i=1;i<=6;i++) scanf("%d",&s[i]); //for(int i=1;i<=6;i++) printf("%d ",s[i]); for(int i=1;i<=6;i++) { int now=0; if(i==1) now=1; if(i==2) now=2; if(i==3) now=3; if(i==4) now=5; if(i==5) now=10; if(i==6) now=20; for(int j=1;j<=s[i];j++) { int m=ma; bool nowH[1010]={0}; for(int k=0;k<=m;k++) { if(H[k]) { nowH[k+now]=1; if(k+now>ma) ma=k+now; } } for(int k=0;k<=ma;k++) if(!H[k]) H[k]=nowH[k]; } } for(int i=1;i<=ma;i++) if(H[i]) ans++; printf("%d",ans); return 0; }