티스토리 뷰

 - 다이나믹 알고리즘

n = int(input())
d = [1, 2]
for i in range(2, n):
    d.append(d[i-1]+d[i-2])

print(d[n-1] % 10007)

9095번에서 푼 풀이방식과 유사한 것 같아서 해보니까

아래와 같이 값이 맞아 떨어졌다

위 아래 두 값을 더하는게 아니고 각자 케이스의 값들을 서로 더하는 것임 ex) 4, 3 => 4번 케이스 값 5  + 3번 케이스 값 3 == 8

 

위의 방식을 기반으로 알고리즘을 구현했다

 

www.acmicpc.net/problem/11726

 

11726번: 2×n 타일링

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.

www.acmicpc.net

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/08   »
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
글 보관함