Lang:G++
Edit12345678910111213141516171819202122232425262728293031/*************************************************************************Author: palayutmCreated Time : Sun 19 Feb 2017 06:57:23 PM CSTFile Name: a.ccDescription:************************************************************************/#include <bits/stdc++.h>using namespace std;int a[1005][1005], b[1005][1005], c[1005][1005], d[1005][1005];int main(int argc, const char *argv[]){int n, ans = 0;cin >> n;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j ++) {cin >> a[i][j];c[i][j] = (a[i][j] == a[i-1][j]+1 ? c[i-1][j] + 1 : 1);d[i][j] = (a[i][j] == a[i][j-1]+1 ? d[i][j-1] + 1 : 1);b[i][j] = 1;if (a[i-1][j-1] == a[i][j]-2) {b[i][j] = min(b[i-1][j-1]+1, min(c[i][j], d[i][j]));}ans = max(ans, b[i][j]);}}