일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Mysql5.7
- 최소신장트리
- pythonanywhere
- 연속합
- 축사 배정
- 피노나치 수열
- 최소스패닝트리
- 코드그라운드
- 이분 매칭
- 백준
- 동적계획법
- 이친수
- 쉬운 계단 수
- 분할정복
- 피보나치수열
- 이분매칭
- 네이버 지도 api
- 백트래킹
- tensorflow
- SpringBoot
- Ubuntu64bit
- VituralBox
- Floyd-Warshall
- 다이나믹 프로그래밍
- 나무자르기
- 알고스팟
- 알고리즘
- 세그먼트 트리
- 이분탐색
- Flpyd-Warshall
Archives
- Today
- Total
초보개발자
[11726] 2xn 타일링 본문
- 입력: 가로 길이 n(1,000 이하의 자연수)
- 출력: 2xn을 2x1 타일들로 표현할 수 있는 경우의 수를 10,007로 나눈 것
- 알고리즘: 동적계획법, 피보나치 수열
- 소스코드
- 이 문제는 피보나치 수열로 풀 수 있다.
- n = 1 일 때 세로 막대로 표현하는 경우 한 가지
- n = 2 일 때 세로 막대 두 개로 표현하거나 가로 막대 두 개로 표현할 수 있어 두 가지
- n = 3 일 때 n = 1에 n = 2를 붙이는 방법과 n = 2에 n = 1를 붙이는 방법 총 세 가지
- n = 4 일 때 n = 2에 n = 2를 붙이는 방법과 n = 3에 n = 1를 붙이는 방법 총 다섯 가지
- 이런 식으로 가로 길이가 n일 때, (n - 2)에 세로 막대x2와 가로 막대x2를 붙여 표현할 수 있고, (n - 1)에 세로 막대를 하나를 붙여 표현할 수 있다. 즉 An = An-1+An-2인 피보나치 수열이다.
Comments