#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <algorithm>
#include <cmath>
#define N 105
using namespace std;
int n;
int ma[N][N];
void print2(int ma[][N],int n)
{
for(int i=0; i<=n; i++)
{
printf("%d",ma[i][0]);
for(int j=1; j<=n; ++j)
printf(" %d",ma[i][j]);
printf("\n");
}
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("ex.in","r",stdin);
#endif
// int t;
// scanf("%d",&t);
// while(t--)
// {
scanf("%d",&n);
int maxv=-127;
for(int i=1; i<=n; ++i)
for(int j=1; j<=n; ++j)
{
scanf("%d",&ma[i][j]);
ma[i][j]+=ma[i-1][j];
}
// print2(ma,n);
int sum=0;
for(int i=1; i<=n; i++)
{
for(int j=i; j<=n; j++)
{
sum=0;
for(int k=1; k<=n; k++)
{
if(sum>=0)
sum+=ma[j][k]-ma[i-1][k];
else
sum=ma[j][k]-ma[i-1][k];
if(sum>maxv)
maxv=sum;
}
}
}
printf("%d\n",maxv);
// }
return 0;
}
uva108 Maximum Sum--数组动态规划的题的方法!!
最新推荐文章于 2024-04-24 23:16:35 发布