1 条题解
-
0
C++ :
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int t,n,m,p[110][110]; int f[10100],ans[110]; int main(){ ios::sync_with_stdio(false); cin>>t>>n>>m; for(int i=1;i<=t;i++){ for(int j=1;j<=n;j++){ cin>>p[i][j]; } } //如果只有一天,直接输出m(全部卖出) ans[0]=m; if(t==1){ cout<<m; return 0; } for(int k=1;k<=t-1;k++){ memset(f,0,sizeof f); int w=ans[k-1];//在不超过m的情况下尽可能多的购置 for(int i=1;i<=n;i++){ for(int j=p[k][i];j<=w;j++){ f[j]=max(f[j],f[j-p[k][i]]+(p[k+1][i]-p[k][i])); } } ans[k]=w+f[w]; } cout<<ans[t-1]<<endl; return 0; }
- 1
信息
- ID
- 1978
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者