[关闭]
@inkysakura 2017-05-04T15:00:54.000000Z 字数 489 阅读 1073

lightoj1036

CODE


#include <iostream>
#include <cstring>
using namespace std;
int t,n,m;
int a[505][505],b[505][505];
int dp[505][505],ncase;
int main()
{
        cin >> t;
        while(t--)
        {
                cin >> n >> m;
                for(int i=1;i<=n;i++)
                        for(int j=1;j<=m;j++)
                {
                        int tp;
                        cin >> tp;
                        a[i][j]=a[i][j-1]+tp;
                }
                for(int i=1;i<=n;i++)
                        for(int j=1;j<=m;j++)
                {
                        int tp;
                        cin >> tp;
                        b[i][j]=b[i-1][j]+tp;
                }
                memset(dp,0,sizeof(dp));
                for(int i=1;i<=n;i++)
                        for(int j=1;j<=m;j++)
                {
                        dp[i][j]=max(dp[i-1][j]+a[i][j],dp[i][j-1]+b[i][j]);
                }
                cout << "Case "<<++ncase<<": "<<dp[n][m]<<endl;
        }
        return 0;
}
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注