最大连续子序列和的扩展 只要把2维捆绑成一维就好了 结束语句我差点吐血,while(scanf(“%d”,&n),n)超时了,哎
#include<stdio.h>
#include<string.h>
int main()
{
int n,i,j,k,sum,max,num[101][101],a;
while(scanf("%d",&n)!=EOF)
{
memset(num,0,sizeof(num));
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
scanf("%d",&a);
num[i][j]+=num[i][j-1]+a;
}
}
max=-9999999;
for(i=1;i<=n;i++){
for(j=i;j<=n;j++){
sum=0;
for(k=1;k<=n;k++){
if(sum+num[k][j]-num[k][i-1]<0)
sum=0;
else
sum+=num[k][j]-num[k][i-1];
max=(sum>max?sum:max);
}
}
}
printf("%d\n",max);
}
return 0;
}