poj1050 to the Max

快来打我* 2022-06-18 11:51 226阅读 0赞

#include
#include

#define N 103

int fun(int b[N], int n)
{
int i, max, c;

c = 0;
max = 0;
for(i=1; i<=n; i++)
{
if(c > 0)
c = c+b[i];
else c = b[i];
if(max < c)
max = c;
}
return max;
}

int main()
{
int i, j, n, max, sum, k;
int a[N][N], b[N];

scanf(“%d”, &n);
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
scanf(“%d”, &a[i][j]);
max = 0;
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
b[j] = 0;
for(j=i;j <=n; j++)
{
for(k=1; k<=n; k++)
b[k]+=a[j][k];
sum = fun(b, n);
if(max < sum)
max = sum;
}

}
printf(“%d\n”, max);

return 0;
}

发表评论

表情:
评论列表 (有 0 条评论,226人围观)

还没有评论,来说两句吧...

相关阅读

    相关 【dp】POJ-1050

    从里面任意截取一个矩阵,使得矩阵所包含的数字的和最大. 首先考察该题的简化版:已知一列数,求任意连续若干个数和的最大值。 因为是连续若干个自然数的和,那前面的某个数字取