[シルバー1]10844号:簡単な階段数
🛠 質問する
https://www.acmicpc.net/problem/10844
👩🏻💻 解決策
上り坂のような問題で解決できる
ただし、0と9は1つの差しかなく、別々に処理する必要があります
ソースコード
n = int(input())
dp = [[0 for _ in range(10)] for _ in range(101)]
for i in range(1, 10):
dp[1][i] = 1
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]) % 1000000000)
Reference
この問題について([シルバー1]10844号:簡単な階段数), 我々は、より多くの情報をここで見つけました https://velog.io/@hyunnn/실버1-10844번-쉬운-계단-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol