2018. 1. 5. 23:41, 알고리즘/BOJ
https://www.acmicpc.net/problem/1983
D[a][b][c] : 윗칸의 수 a개, 밑칸의 수 b개를 2*c개의 칸에 배치했을 때 최댓값이라는 Dynamic table을 생각했을 때,
D[a][b][c] = max(D[a - 1][b][c - 1], D[a][b - 1][c - 1], D[a - 1][b - 1][c - 1] + box1[a - 1] * box2[b - 1]) 입니다. 점화식 자체는 간단한데, 문제는 예외처리를 빡세게 해주지 않으면 값이 음수가 될 경우를 잡아내지 못합니다.
(입력으로 1 // 1 // -1이 들어왔을 떄 정답은 -1이지만 예외처리를 안해주면 값이 0이 되어버릴 수 있음)
예외처리를 잘못해서 오래 애먹었습니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 2302번: 극장 좌석 (0) | 2018.01.05 |
---|---|
[BOJ] 1915번: 가장 큰 정사각형 (0) | 2018.01.05 |
[BOJ] 11504번: 가장 긴 바이토닉 부분 수열 (0) | 2018.01.05 |
[BOJ] 1764번: 듣보잡 (0) | 2018.01.05 |
[BOJ] 14488번: 준오는 급식충이야!! (0) | 2018.01.05 |
[BOJ] 10974번: 모든 순열 (0) | 2018.01.05 |
Comments