- 백준 1915 가장 큰 정사각형 Gold V
- python
- 문제링크
풀이
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
s = [[0 for i in range(M + 1)]]
for i in range(n): s.append([0] + list(input().strip()))
dp = [[0] * (M + 1) for i in range(N + 1)]
res = 0
for i in range(N + 1):
for j in range(M + 1):
if s[i][j] == "1": dp[i][j] = min(dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1])+ 1
for i in range(N + 1):
for j in range(M + 1):
res = max(result, dp[i][j])
print(res ** 2)
'개발공부 > algorithm' 카테고리의 다른 글
[백준][python] 16953 A->B - Greedy (0) | 2021.04.03 |
---|---|
[백준][python] 1166.선물 - Binary Search (0) | 2021.04.01 |
[백준][python] 12865.평범한 배낭 - DP (0) | 2021.03.27 |
[백준][python] 1932.정수삼각형 - DP (0) | 2021.03.27 |
[백준][python] 11057.오르막수 - DP (0) | 2021.03.27 |