๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 10844๋ฒˆ_์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜

Dbswnstjd 2022. 11. 26. 23:17

๋ฌธ์ œ

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

 

10844๋ฒˆ: ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜

์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

ํ’€์ด

# ๋ฐฑ์ค€ 10844๋ฒˆ ๋ฌธ์ œ - ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜
n = int(input())

dp = [[0]*10 for _ in range(n+1)]
for i in range(1, 10):
    dp[1][i] = 1

value = 1000000000

for i in range(2, n+1):
    for j in range(10):
        if j == 0:
            dp[i][j] = dp[i-1][1]
        elif j == 9:
            dp[i][j] = dp[i-1][8]
        else:
            dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1] 

print(sum(dp[n]) % value)

DP๋ฅผ ์ด์šฉํ•ด ๊ทœ์น™์„ ์ฐพ์œผ๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.