救救孩子,孩子脑不好!!!

P1064 [NOIP2006 提高组] 金明的预算方案

您这个代码高亮看着有点不舒服啊...让我重新发一遍再来看看 ```cpp #include <iostream> using namespace std; long long f[32001]; struct as{ int a[4]; int b[4]; }aa[61]; int main() { int n,m; cin>>m>>n; for(int i=1;i<=n;i++) { int z,x,c; cin>>z>>x>>c; if(c!=0) { if(aa[c].a[2]!=0) { aa[c].a[3]=z; aa[c].b[3]=x; i--;n--; } else { aa[c].a[2]=z; aa[c].b[2]=x; i--;n--; } } else { aa[i].a[1]=z; aa[i].b[1]=x; } } for(int i=1;i<=n;i++) for(int j=m;j>=aa[i].a[1];j--) { f[j]=max(f[j],f[j-aa[i].a[1]]+aa[i].a[1]*aa[i].b[1]); if(j>=aa[i].a[1]+aa[i].a[2]) f[j]=max(f[j],f[j-aa[i].a[1]-aa[i].a[2]]+aa[i].a[1]*aa[i].b[1]+aa[i].a[2]*aa[i].b[2]); if(j>=aa[i].a[1]+aa[i].a[3]) f[j]=max(f[j],f[j-aa[i].a[1]-aa[i].a[3]]+aa[i].a[1]*aa[i].b[1]+aa[i].a[3]*aa[i].b[3]); if(j>=aa[i].a[1]+aa[i].a[2]+aa[i].a[3]) f[j]=max(f[j],f[j-aa[i].a[1]-aa[i].a[2]-aa[i].a[3]]+aa[i].a[1]*aa[i].b[1]+aa[i].a[2]*aa[i].b[2]+aa[i].a[3]*aa[i].b[3]); } cout<<f[m]; return 0; } ```
by Meatherm @ 2019-11-03 18:54:18


~~~ #include <iostream> 部分代码 ~~~ 与 ```cpp #include <iostream> 插入代码 ``` 的区别
by Maxrage @ 2019-11-03 18:57:00


|