2579号:階段を登る-パイソン


白俊-2579号:階段を上る
質問する

I/Oフォーマットとソース
length = int(input())
score = [0]*300

for i in range(length):
    score[i] = int(input())

dp = [0]*300
dp[0] = score[0]
dp[1] = max(score[0]+score[1], score[1])
dp[2] = max(score[0]+score[2], score[1]+score[2])

for i in range(3, length):
    dp[i] = max(score[i]+dp[i-2], score[i]+score[i-1]+dp[i-3])

print(dp[length-1])
どうてきプログラミングもんだい
ステップ
  • のスコアが与えられたとき、この最大値を実現する問題
  • .
  • 階段は3つ連続して踏むことができず、条件は
  • である.
  • 私が踏んだ階段の位置に、-1格と-2格の値を加えて比較し、最大値をdpリストに保存します!
  • は、最終的に得るdpリストの最後の値
  • を出力する.