[๋ฐฑ์ค€-11727] 2xn ํƒ€์ผ๋ง 2 / Python

๐Ÿ“š Problem Solving/Baekjoon

https://www.acmicpc.net/problem/11727

 

11727๋ฒˆ: 2×n ํƒ€์ผ๋ง 2

2×n ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1๊ณผ 2×2 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×17 ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ๊ฐ€์ง€ ์˜ˆ์ด๋‹ค.

www.acmicpc.net

n = int(input())
d = [0] * 1001
d[1], d[2] = 1, 3
for i in range(3, n + 1):
    d[i] = d[i - 1] + (2 * d[i - 2])
print(d[n] % 10007)

 

ํ•ด์„ค

๋งˆ์ง€๋ง‰์—์„œ ์ด์ „ ๋‘ ๊ฐ’๋งŒ ํ™•์ธํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๋งˆ์ง€๋ง‰์—์„œ ๋‘ ๋ฒˆ์งธ๋Š” 2x1, 2x2๋กœ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— 2๋ฅผ ๊ณฑํ•ด์ค€๋‹ค.