ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

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

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

www.acmicpc.net

 

๋ฌธ์ œ ํ’€์ด

์„ธ๋กœ ํƒ€์ผ(2 x 1)๊ณผ ๊ฐ€๋กœ ํƒ€์ผ(1 x 2) ํƒ€์ผ๋กœ n์ด ์ž…๋ ฅ๋  ๊ฒฝ์šฐ ํƒ€์ผ์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. n์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ด๋‹ค.

 

  1. ๋ชจ๋‘ ์„ธ๋กœ ํƒ€์ผ๋กœ ๊ตฌ์„ฑ ๋˜๋Š” ๊ฒฝ์šฐ
  2. ๋ชจ๋‘ ๊ฐ€๋กœ ํƒ€์ผ๋กœ ๊ตฌ์„ฑ ๋˜๋Š” ๊ฒฝ์šฐ
  3. ๊ฐ€๋กœ, ์„ธ๋กœ ํƒ€์ผ์ด ํ˜ผํ•ฉ๋˜์–ด ๊ตฌ์„ฑ๋˜๋Š” ๊ฒฝ์šฐ

Figure 1. n์— ๋”ฐ๋ฅธ ํƒ€์ผ์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜

 ํƒ€์ผ์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๊ทธ๋ฆผ 1๊ณผ ๊ฐ™๋‹ค. n์— ๋”ฐ๋ฅธ ๊ทœ์น™์„ ์ฐพ์•„๋ณด๋ฉด n์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ 1, 2, 3, 5, 8, 13๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด `f(n) = f(n - 1) + f(n - 2)`๊ฐ€ ๋œ๋‹ค. ์ฆ‰, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

 

ํ’€์ด

from sys import stdin


if __name__ == "__main__":
    n = int(stdin.readline())
    a, b = 1, 1
    for _ in range(n):
        a, b = b, a + b
    print(a % 10007)

 ๊ทœ์น™์„ ์ฐพ๋Š” ๊ณผ์ •์€ ๋‚˜์—ดํ•˜๊ณ  ์ƒ๊ฐํ•ด๋ณด์•„์•ผ ํ•˜์ง€๋งŒ, ์ฝ”๋“œ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•˜๋‹ค.๐Ÿ˜‰

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€