UVALive - 3530:Martian Mining
Posted white_hat_hacker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVALive - 3530:Martian Mining相关的知识,希望对你有一定的参考价值。
dp
可以发现,对于(i,j),要么把它运上去,那么把它运到左边,枚举一下即可
#include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #define MAXN 505 using namespace std; int f[MAXN][MAXN]; int a[MAXN][MAXN],b[MAXN][MAXN]; int s[MAXN][MAXN],t[MAXN][MAXN]; int n,m; void solve(){ for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%d",&a[i][j]); s[i][j]=s[i][j-1]+a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%d",&b[i][j]); t[i][j]=t[i-1][j]+b[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ f[i][j]=max(f[i-1][j]+s[i][j],f[i][j-1]+t[i][j]); } } printf("%d\n",f[n][m]); } int main() { while(1){ scanf("%d%d",&n,&m); if(!n) break; solve(); } return 0; }
以上是关于UVALive - 3530:Martian Mining的主要内容,如果未能解决你的问题,请参考以下文章
发售提醒:Air Jordan 7 “Marvin The Martian”