2018. 8. 20. 15:20, 알고리즘/BOJ
https://www.acmicpc.net/problem/5721
맨 처음엔 문제가 대체 무슨 소리인가 했는데, 우선 한 행 안에서만 생각해봅시다. i번쨰 행에 대해, j번째 사탕을 택했을 경우 j-1, j+1번째 사탕을 택할 수 없으므로 해당 행 안에서만 DP 테이블을 잡아서 $D_j = max(D_{j-2}+D_{j-3})+candy_{i,j}$ 으로 두어 행에서 최대한 사탕을 많이 챙길 경우 몇개를 먹을 수 있는지 알 수 있습니다.
또한 각 행에서 DP를 정의해보면 마찬가지로 i번쨰 행을 택하면 i+1번째 행을 택할 수 없으므로 비슷하게 DP를 잡으면 됩니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 11932번: 트리와 K번째 수 (0) | 2018.08.21 |
---|---|
[BOJ] 15979번: 스승님 찾기 (0) | 2018.08.21 |
[BOJ] 14267번: 내리 갈굼 (0) | 2018.08.21 |
[BOJ] 2201번: Pinary (0) | 2018.08.20 |
[BOJ] 1947번: 선물 전달 (0) | 2018.08.19 |
[BOJ] 3682번: Proving Equivalences (0) | 2018.08.19 |
Comments