#include<stdio.h>
int a[100][50];
int max=-10000;
int main(){
int n,m;
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<n;i++){//最大子阵上边界
for(int j=i;j<n;j++){//最大子阵下边界
for(int k=0;k<m;k++){//最大子阵左边界
for(int l=k;l<m;l++){//最大子阵右边界
int ans=0;
for(int p=i;p<=j;p++){
for(int q=k;q<=l;q++){
ans+=a[p][q];
}
}
if(ans>=max)max=ans;
}
}
}
}
printf("%d",max);
}
c练习题求最大子阵
最新推荐文章于 2024-09-14 20:30:05 发布