[BOJ] 5721번: Candy Distribution

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를 잡으면 됩니다.


https://github.com/blisstoner/BOJ/blob/master/5721.cpp

'알고리즘 > 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