解题思路:
动态规划。
注意事项:
走的路线从下到上只能走上面的或左上面。
参考代码:
n = int(input()) mapL = [list(map(int,input().split())) for _ in range(n)] dp = [] for i in range(n): dp.append([0]*(i+1)) dp[0][0] = mapL[0][0] for i in range(1,n): for j in range(0,len(mapL[i])): if j == 0: dp[i][j] = dp[i-1][j] + mapL[i][j] elif j == len(mapL[i]) - 1: dp[i][j] = dp[i-1][j-1] + mapL[i][j] else: dp[i][j] = max(dp[i-1][j],dp[i-1][j-1]) + mapL[i][j] print(max(dp[n-1]))
0.0分
3 人评分
【亲和数】 (C语言代码)浏览:859 |
母牛的故事 (C语言代码)浏览:932 |
WU-printf基础练习2 (C++代码)浏览:2007 |
三角形 (C++代码)记忆化搜索浏览:1234 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:798 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:544 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:687 |
蛇行矩阵 (C语言代码)浏览:504 |
模拟计算器 (C语言代码)浏览:2300 |