ACE-Top

导航

A Refining Company(dp)

 此题卡了一些时间!但是最后还是ac了,其实也简单。。不多说看代码。。。

#include<stdio.h>
#include<string.h>
#include <algorithm>
#define N 510
using namespace std;

int f[N][N],ping[N][N],jing[N][N];
int main ()
{
    int T,n,m,i,j;
    while(scanf("%d",&T)!=EOF)
    {
        for(int ca=1;ca<=T;ca++)
        {
            scanf("\n%d%d",&n,&m);
            for(i=1;i<=n;i++)
            for(j=1;j<=m;j++)
            {
              scanf("%d",&jing[i][j]);
              jing[i][j]+=jing[i][j-1];
            }
            for(i=1;i<=n;i++)
            for(j=1;j<=m;j++)
            {
                scanf("%d",&ping[i][j]);
                ping[i][j]+=ping[i-1][j];
            }
            int max1=0;
            for(i=1;i<=n;i++)
            for(j=1;j<=m;j++)
            {
                f[i][j]=max(jing[i][j]+f[i-1][j],ping[i][j]+f[i][j-1]);
                if(f[i][j]>max1)max1=f[i][j];
            }
            printf("Case %d: %d\n",ca,max1);
        }
    }
}

 

 

posted on 2013-08-27 20:18  ACE-Top  阅读(163)  评论(0编辑  收藏  举报