백준 문제 링크
타일링
- 아래 그림처럼
길이를 1추가 했을 때 가능한 경우의 수는 1가지,
길이를 2추가 했을 때 가능한 경우의 수는 2가지이다.
- 즉 DP[i] = DP[i-2] * 2 + DP[i-1]로 볼 수 있는 것이다.
이것을 이용해 DP에 저장 후 DP[N]을 출력하면 끝!
DP = [0] * 251
while True:
try :
N = int(input())
DP[0] = 1
DP[1] = 1
for i in range(2, N+1):
DP[i] = DP[i-2] * 2 + DP[i-1]
print(DP[N])
except :
break