Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <algorithm>using namespace std;const int maxn = 105;int n, arr[maxn][maxn];int row[maxn][maxn], col[maxn][maxn];int diag[maxn][maxn], inv[maxn][maxn];int main() {cin >> n;for(int i = 1; i <= n; i++) {for(int j = 1; j <= n; j++) {cin >> arr[i][j];row[i][j] = row[i][j-1] + arr[i][j];col[j][i] = col[j][i-1] + arr[i][j];diag[i][j] = diag[i-1][j-1] + arr[i][j];inv[i][j] = inv[i-1][j+1] + arr[i][j];}}int ans = n * n;for(int k = 2; k <= n; k++) {for(int i = 1; i <= n; i++) {if(i + k - 1 > n) break;for(int j = 1; j <= n; j++) {if(j + k - 1 > n) break;int max_row = i + k - 1;int max_col = j + k - 1;int sum = diag[max_row][max_col] - diag[i-1][j-1];bool flag = true;