1 条题解
-
1
#include<bits/stdc++.h> using namespace std; int n,m,s,r,W; int a[210][210],b[210][210],c[20101],f[21100],t[21010],w[20110],p; int main(){ scanf("%d%d%d%d",&n,&m,&s,&r); W=min(s,r-1); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) scanf("%d",&a[i][j]); } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) scanf("%d",&b[i][j]); } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]>0&&b[i][j]>0){ w[++p]=(i+j)*2; c[p]=a[i][j]; t[p]=b[i][j]; } } } for(int i=1;i<=p;i++){ for(int k=1;k<=t[i];k++){ for(int j=W;j>=w[i];j--){ f[j]=max(f[j],f[j-w[i]]+c[i]); } } } cout<<f[W]; return 0; }
- 1
信息
- ID
- 1329
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 52
- 已通过
- 9
- 上传者