์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ๋ฐฑ์ค€ (BOJ) - Python

๋ฐฑ์ค€ (boj) ํŒŒ์ด์ฌ - 11727 2xN ํƒ€์ผ๋ง

  • -

๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/11727

 

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

์ฒซ์งธ ์ค„์— 2×n ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 10,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

 

 

 

 

 

 

n์ด ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๋‹น์—ฐํžˆ ํƒ€์ผ๋ง์˜ ๋ฐฉ๋ฒ•์€ ๋Š˜์–ด๋‚œ๋‹ค. n=4์ผ๋•Œ ์ž๊พธ๋งŒ 9๊ฐœ์˜ ๋ฐฉ๋ฒ•๋งŒ ๋– ์˜ฌ๋ผ์„œ ๋ฌธ์ œํ‘ธ๋Š”๋ฐ ์‹œ๊ฐ„์ด ์ข€ ์˜ค๋ž˜๊ฑธ๋ ธ๋‹ค. (2x1์„ ์–‘ ์˜†์— ๋‘๋Š”๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐ ๋ชปํ–ˆ๋‹ค.)

n = 1 1
n = 2 3
n = 3 5
n = 4 11

 

 

 

* 2x1์„ ์–‘ ์˜†์— ๋‘๋Š”๊ฒฝ์šฐ

2x1 2x2 2x1

 

 

์ ํ™”์‹
n = (n-1) + (n-2)*2

 

 

*ํŒŒ์ด์ฌ ์ฝ”๋“œ

n = int(input())
arr= [1,3,5]

while(True):
    arr.append(arr[-2]*2 + arr[-1])
    if len(arr) > n : break
print(arr[n-1]%10007)
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.