Algorithm & Data Structure/BOJ
[백준] 1904 01타일 (Dynamic programming)
남혁준
2020. 1. 22. 17:33
https://www.acmicpc.net/problem/1904
1904번: 01타일
지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. 그러므로 지원이는 타일로 더 이상 크기가 N인 모든 2진 수
www.acmicpc.net
동적계획법 문제였습니다.
규칙을 찾아보면
n = 1 : 1 (1)
n = 2 : 2 (00, 11)
n = 3 : 3 (001, 100, 111)
n = 4 : 5 (0000, 0011, 1100, 1001, 1111)
...
따라서 점화식은
dp[n] = dp[n-2] + dp[n-1] 이 됩니다.
* dp 배열 0과 1을 1로 초기화 해주고 인덱스 2 부터 시작합니다.