문제 링크(Link)
https://www.acmicpc.net/problem/5721
문제 해결 (Solution)
1. i번 째 행은 i+2행과는 아무 상관이 없다. i행의 열 중에서 서로 인접하지만 않으면 된다.
2. 1의 조건을 만족시키는 DP table을 생각해보면, 행에 대한 DP와 열에 대한 DP를 따로 만들어 해결하는 게 편함.
3. dp1[i] = i행에서의 최대값.
dp2[j] = i행에서 열들을 선택했을 때의 가장 큰 값.
주의할 점 || 생각해볼 점(Caution || Consideration)
1. 처음엔 행과 열을 따로 생각할 수 있다는 생각을 하기 어렵다. 이런 유형이 있다는 것을 알아야한다.
2. 행과 열의 크기가 주어지지 않으므로, 그냥 1차원 배열로 생각하고 인덱스를 잘 다뤄야한다.
참고(Reference)
- 아이디어를 받은 Blog : http://sungwoo91.tistory.com/15
※ 정확하고 부드러운 태클은 언제나 환영입니다.
'Problem Solving > DP' 카테고리의 다른 글
BOJ 1103 - 게임 (0) | 2017.10.30 |
---|---|
BOJ 12849 - 본대 산책 (0) | 2017.10.07 |
BOJ 11578 - 팀원 모집 (0) | 2017.09.30 |
BOJ 2411 - 아이템 먹기 (0) | 2017.09.27 |
BOJ 14728 - 벼락치기 (0) | 2017.09.21 |