最大子矩阵
#include<bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;int a[110][110]={0};int b[110][110]={0};for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a[i][j];if(i==1&&j==1){b[i][j]=b[i][j-1]+a[i][j];}else{b[i][j]=b[i][j-1]+b[i-1][j]+a[i][j]-b[i-1][j-1];}}}int cnt=0;int ma=-1;for(int i=1;i<=n-1;i++){for(int j=1;j<=n-1;j++){for(int x=i+1;x<=n;x++){for(int y=j+1;y<=n;y++){if(i==1&&j==1){cnt=b[x][y];}else if(i!=1&&j==1){cnt=b[x][y]-b[i-1][y];}else if(i==1&&j!=1){cnt=b[x][y]-b[x][j-1];}else if(i!=1&&j!=1){cnt=b[x][y]-b[x][j-1]-b[x][j-1]+b[i-1][j-1];}ma=max(cnt,ma);}}}}cout<<ma;return 0;
}