1904_01ํƒ€์ผ

ToTheEndยท2023๋…„ 5์›” 2์ผ

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
7/16

๐Ÿ“Œย DP ํฌ์ธํŠธ

  • ๊ธฐ์กด์˜ ๊ฐ€๋Šฅํ•œ ํƒ€์ผ๊ตฌ์„ฑ์—์„œ ๋’ค์— ํ•˜๋‚˜์”ฉ ๋ถ™์—ฌ๋‚˜๊ฐ€๋Š” ๊ตฌ์„ฑ
  • ์ด์ „์˜ ๊ฒƒ์„ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ๋‹ค โ†’ ์ ํ™”์‹
  • DP[k]๋ฅผ ์ด๋ฃจ๋Š” ๊ฐ’์„ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ• ๊นŒ
    • [k-1] ๊ตฌ์„ฑ์—๋Š” 1๊ฐœ๋งŒ ๋” ๋ถ™์ผ ์ˆ˜ ์žˆ์Œ โ†’ [k-1]์˜ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค
    • [k-2]์˜ ๊ตฌ์„ฑ์—๋Š” 00์„ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
    • โ€˜DP[k]=DP[kโˆ’1]+DP[kโˆ’2]โ€˜`DP[k] = DP[k-1] + DP[k-2]`

โš ๏ธย Error


๐Ÿฅณ ์ •๋‹ต์ฝ”๋“œ

''' 
23.05.02 
10:00 ~ 10: 40 
'''
# 0.75์ดˆ / 256MB 
# ๊ฐ ํƒ€์ผ -> 0 or 1 # 0 + 0 -> 00 
# N์„ ์ด๋ฃจ๋Š” ๋ชจ๋“  2์ง„์ˆ˜์—ด ์ƒ์„ฑ๋ถˆ๊ฐ€ 

# N : 1์ด์ƒ, 100๋งŒ์ดํ•˜ 
N = int(input())

dp = [0] * (1000000+1)
dp[1] = 1
dp[2] = 2

for i in range(3, N+1):
    dp[i] = (dp[i-1] + dp[i-2]) % 15746

# Output : 2์ง„ ์ˆ˜์—ด ๊ฐฏ์ˆ˜๋ฅผ % 15746 
print(dp[N])

0๊ฐœ์˜ ๋Œ“๊ธ€