알고리즘

<백 준> 11726번 파이썬 알고리즘

changha. 2021. 1. 13. 17:03

 - 다이나믹 알고리즘

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