## 点击查看题目##
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int ch[200][200];
int main()
{
int n,i,j,k,l,sum,max,s;
while(scanf("%d",&n)!=EOF&&n!=0)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&ch[i][j]);
sum=max=0;
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j++)
{
sum=0;
for(k=1;k<=n;k++)
{
s=0;
for(l=i;l<=j;l++)
s+=ch[k][l];
sum+=s;
if(sum<0)sum=0;
if(max<sum)max=sum;
}
}
}
cout<<max<<endl;
}
return 0;
}
本文提供了一段使用C++语言解决矩阵中最大子序列和问题的代码实现,通过输入矩阵大小和元素值,程序计算并输出矩阵内连续子序列的最大和。

465

被折叠的 条评论
为什么被折叠?



