[アルゴリズム/スタンダード]2579号:階段を登る(python)
最初は前に進むことだけを考えていたが、今はもう上がったことを考えなければならない.
N = int(input())
a = [0]
for _ in range(N):
a.append(int(input()))
dp = [0] * (N+1)
if N == 1:
print(a[1])
else:
dp[1] = a[1]
dp[2] = a[1] + a[2]
for i in range(3, N+1):
dp[i] = max(dp[i-3] + a[i-1]+a[i], dp[i-2]+a[i])
print(dp[N])
Reference
この問題について([アルゴリズム/スタンダード]2579号:階段を登る(python)), 我々は、より多くの情報をここで見つけました https://velog.io/@y7y1h13/알고리즘백준-2579번-계단-오르기pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol