diff --git a/Luogu/P1387/P1387.cpp b/Luogu/P1387/P1387.cpp new file mode 100644 index 00000000..752f3b78 --- /dev/null +++ b/Luogu/P1387/P1387.cpp @@ -0,0 +1,38 @@ +#include + +using std::cin; +using std::cout; +using std::endl; + +int n, m, ans; +bool g[105][105]; + +bool check(int x1, int y1, int x2, int y2) { + for (int i = x1; i <= x2; i++) { + for (int j = y1; j <= y2; j++) { + if (!g[i][j]) return false; + } + } + return true; +} + +int main() { + cin >> n >> m; + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= m; j++) { + cin >> g[i][j]; + } + } + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= m; j++) { + for (int k = 1; k <= std::min(n, m); k++) { + if (i + k > n || j + k > m) break; + if (check(i, j, i + k - 1, j + k - 1)) { + ans = std::max(ans, k); + } + } + } + } + cout << ans << endl; + return 0; +}