poj 1050 To the Max

#include<iostream>
using namespace std;
int rec[101][101];
int sub(int ii,int jj,int len,int wid)
{
int sum=0;
for(int i=ii;i<=len;i++)
for(int j=jj;j<=wid;j++)
sum
+=rec[i][j];
return sum;
}
int main()
{
int i,j,n,max=-200,ll,ww,s;
cin
>>n;
for (i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
scanf(
"%d",&rec[i][j]);
if(max<rec[i][j])max=rec[i][j];
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(ll=i;ll<=n;ll++)
for (ww=j;ww<=n;ww++)
{
s
=sub(i,j,ll,ww);
if(s<0)
break;
max
=max>s?max:s;
}
printf(
"%d\n",max);
return 0;
}

  

posted on 2011-07-17 23:38  sysu_mjc  阅读(91)  评论(0编辑  收藏  举报

导航