HJ61放苹果_动态规划,递归——需要使用判断避免递归出界。注意多维数组的建立和append()使用。

 

 

复制代码
 1 import sys
 2 m,n=list(map(int,sys.stdin.readline().strip().split()))
 3 #def apple(m,n):
 4     #return dp, dp[m][n]
 5 if m<n:
 6     m,n=m,m
 7 dp=[[] for i in range(m+1)]
 8 for i in range(n+1):
 9     dp[1].append(1)  
10     dp[0].append(1)
11 for i in range(2,m+1):
12     dp[i].append(1)
13     dp[i].append(1)
14 for i in range(2,m+1):
15     for j in range(2,n+1):
16         #print(i,j,dp)
17         if i<j:            
18             dp[i].append(dp[i][i])
19         else:
20             #print(i,j,dp[i][j-1]+dp[i-j][j])
21             dp[i].append(dp[i][j-1]+dp[i-j][j])
22 out=dp[m][n] 
23 print(out)
复制代码

 

posted @   Aneverforget  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示