Part7.3動的プログラミングの課題
6244 ワード
bottom-up方式
import sys
sys.stdin = open("input.txt", "rt")
n = int(input())
dy = [0]*(n+1)
dy[1] = 1
dy[2] = 1
for i in range(3, n+1):
dy[i] = dy[i-1] + dy[i-2]
print(dy[n])
上から下へimport sys
sys.stdin = open("input.txt", "rt")
def DFS(len):
if dy[len] > 0:
return dy[len]
# 가지를 cut 하는 방법
if len == 1 or len == 2:
return len
else:
dy[len] = DFS(len-1) + DFS(len-2)
#dy[7] = D(6) + D(5)
return dy[len]
if __name__=="__main__":
n = int(input())
dy=[0]*(n+1)
print(DFS(n))
Reference
この問題について(Part7.3動的プログラミングの課題), 我々は、より多くの情報をここで見つけました https://velog.io/@angel_eugnen/Part7.3동적프로그래밍DynamicProgramming도전과제Top-Down-재귀-메모이제이션テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol