티스토리 뷰

PS

백준 1915. 가장 큰 정사각형

tose33 2022. 10. 13. 17:31

https://www.acmicpc.net/problem/1915

 

1915번: 가장 큰 정사각형

첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다.

www.acmicpc.net

 

진짜 금방 풀수 있었는데 아주 조금 엇나가서 시간이 걸려버렸다.

처음에 생각한건 d[i][j] = (i,j)를 가장 오른쪽 아래로 하는 정사각형의 한 변의 크기의 최댓값 

따라서 (i,j)를 기준으로 위, 왼쪽이 0이 넘는다면 즉 d[i-1][j], d[i][j-1] 중 작은 값을 len으로 하고, 

d[i-len][j-len] > 0 이면 d[i][j] = len + 1이라고 생각했는데 대각선 왼쪽 위 방향을 생각을 못했다.

 

결론적으로 d[i][j]는 위대로고, 점화식은 아래와 같다. 

d[i][j] = min(d[i-1][j-1], min(d[i-1][j], d[i][j-1]))+1;

 

 

 

 

'PS' 카테고리의 다른 글

백준 2629. 양팔저울  (0) 2022.10.14
백준 6593. 상범 빌딩  (0) 2022.10.14
백준 7579. 앱  (0) 2022.10.13
백준 9205. 맥주 마시면서 걸어가기  (0) 2022.10.11
백준 16926. 배열 돌리기 1  (0) 2022.10.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함