반응형
Notice
Recent Posts
Recent Comments
Link
안 쓰던 블로그
11726 2xn 타일링 본문
반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> #define NM 1000 int n, dp[NM+1]; int f(int a /*i*/) { if (a == 0 || a == 1) return 1; if (a < NM && dp[a] != 0) return dp[a]; return dp[a] = (f(a - 1) + f(a - 2)) % 10007; } int main() { scanf("%d", &n); printf("%d", f(n)); } | cs |
가로 칸만 세면 1x2는 1칸을 차지하고 2x1은 2칸을 차지한다.
다른 말로 i-2에서 2x1로 2칸을 차지하는 방법 한 개와 i-1에서 1x2으로 1칸을 차지하는 방법 한 개가 있는 것이다.
점화식으로 세우면 dp[a] = (f(a - 1) + f(a -2)) % 10007으로
피보나치와 같은 식인 것을 알 수 있다.
반응형
'알고리즘 > 정보올림피아드 준비' 카테고리의 다른 글
1992 쿼드 트리 (0) | 2016.12.17 |
---|---|
11727 2xn 타일링2 (0) | 2016.12.16 |
11052 붕어빵 판매하기 (0) | 2016.12.16 |
정올반 9.10 수업 2013 시도예선 중고등부 문제 (0) | 2016.09.17 |
정올반 9.10 수업 2014 시도예선 중고등부 문제 (0) | 2016.09.16 |
Comments