目录
1.题目描述
# 最大正方形
## 题目描述
在一个 $n\times m$ 的只包含 $0$ 和 $1$ 的矩阵里找出一个不包含 $0$ 的最大正方形,输出边长。
## 输入格式
输入文件第一行为两个整数 $n,m(1\leq n,m\leq 100)$,接下来 $n$ 行,每行 $m$ 个数字,用空格隔开,$0$ 或 $1$。
## 输出格式
一个整数,最大正方形的边长。
## 样例 #1
### 样例输入 #1
```
4 4
0 1 1 1
1 1 1 0
0 1 1 0
1 1 0 1
```
### 样例输出 #1
```
2
```
2.AC
#include <iostream>
#include <cstdio>
using namespace std;
int n, m, x, ans;
int f[105][105];
int main () {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
scanf("%d", &x);
if (x) {
f[i][j] = min (min (f[i-1][j], f[i][j-1]), f[i-1][j-1]) + 1;
ans = max (ans, f[i][j]);
}
}
}
printf("%d", ans);
return 0;
}