问题描述

思路描述

其实和之前做的“数字三角形”那道题目差不多啦,也是从上往下遍历,定义一个从这个数开始保存最大数的列表,具体思路可以看我之前的文章:

https://blog.csdn.net/m0_53347750/article/details/122472202

源码

同样的,这道题目用简单的动态规划是不行的:

# dp
def dp(x, y):global valueglobal nif(x == n - 1):return(value[x][y])else:temp_1 = dp(x + 1, y)temp_2 = dp(x + 1, y + 1)if(temp_1 > temp_2):return(temp_1 + value[x][y])else:return(temp_2 + value[x][y])# main
global value
global nn = int(input())
value = [[0 for _ in range(n)] for _ in range(n)]for i in range(n):line = input().split()for j in range(len(line)):value[i][j] = int(line[j])print(dp(0, 0))

需要中间新定义一个列表来保存数据,达到一个重复利用的效果

global triangle
global ndef MaxSum(i,j):global nglobal triangleif i == n - 1:return triangle[i][j]if(maxSum[i + 1][j] == -1):maxSum[i + 1][j] = MaxSum(i + 1, j)if (maxSum[i + 1][j + 1] == -1):maxSum[i + 1][j + 1] = MaxSum(i + 1, j + 1)if(maxSum[i + 1][j] > maxSum[i + 1][j + 1]):return maxSum[i + 1][j] + triangle[i][j]return maxSum[i + 1][j + 1] + triangle[i][j]# main()
n = int(input())
# 创建一个二维列表
triangle = [[0 for i in range(n)] for j in range(n)]
# 输入二维列表中的数字
maxSum=[[0 for s in range(n)]for k in range(n)]
# maxSum用于保存最优值
# 将maxSum中的值全部设置成-1
for s in range(n):for k in range(s + 1):maxSum[s][k] = -1for i in range(n):line = input().split()for j in range(i + 1):triangle[i][j] = int(line[j])print(MaxSum(0, 0))

【蓝桥杯】【python】夺宝奇兵相关推荐

  1. [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  2. [蓝桥杯][算法提高VIP]夺宝奇兵-dp

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  3. [蓝桥杯][算法提高VIP]夺宝奇兵(记忆化搜索||DP)

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  4. 蓝桥杯 ADV-62算法提高 夺宝奇兵(动态规划)

    [题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 &qu ...

  5. 题目 1514: [蓝桥杯][算法提高VIP]夺宝奇兵

    时间限制: 1Sec 内存限制: 128MB 提交: 915 解决: 583 题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝 ...

  6. Java夺宝_Java实现 蓝桥杯VIP 算法提高 夺宝奇兵

    算法提高 夺宝奇兵 时间限制:1.0s 内存限制:512.0MB [题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: ...

  7. 蓝桥杯 算法提高 夺宝奇兵

    算法提高 夺宝奇兵   时间限制:1.0s   内存限制:512.0MB      [题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图 ...

  8. python比赛2020_2020蓝桥杯python组备战方法

    用python刷算法题中的小技巧 我们需要知道python的一些常用小技巧: 下面列出一些在蓝桥杯python编程需要用到的小技巧: 学习过python的同学一定知道,学习python语法是很简单的一 ...

  9. 蓝桥杯Python初级组测试题之Turtle画图2

    蓝桥杯Python初级组测试题之Turtle画图2 1. 画8个内接正五边形 题目描述 解题思路 (1) 共有n=8个正五边形,因而有8次循环,每次旋转角度增加ang=360/n (2) 画内接正五边 ...

  10. [蓝桥杯python] 印章:共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率

      [蓝桥杯python] 印章 问题描述 1.资源限制 2.输入格式 3.输出格式 4.样式输入及输出 5.代码及解析 大功告成!编写不易,大家成功后点个关注or赞谢谢~~ 问题描述 共有n种图案的 ...

最新文章

  1. 子类窗口向父类窗口传值
  2. html 设置div占位符,HTML5+CSS3 一组文本输入框占位符动效
  3. Java 洛谷 P1059 [NOIP2006 普及组] 明明的随机数
  4. 控制台添加log4net
  5. linux rpm找不到命令_linux书后习题(4-9章不全) - lijinli
  6. 70进货卖100利润是多少_进货价8块的产品,在网上卖100块,这个电商卖家能赚多少!...
  7. 安装ipython(一分钟读懂)
  8. Arrays.asList 方法注意事项
  9. Java Date实现加一天,年月日类推往后+1,日期+1,月份+1,年份+1
  10. 推荐几个清华和交大学霸公众号,值得学习
  11. 监听软键盘中的删除键
  12. HTML5 页面布局【结合案例】
  13. Spark独到见解--Transformation算子总结
  14. 苹果Apple TV+上线了重磅史诗级别科幻作品,这是要挑战Netflix、HBO?
  15. 火山引擎发布云操作系统 veLinux
  16. 元宇宙营销新时代| 元宇宙数字营销峰会于7月29日在上海淳大万丽酒店盛大开幕!
  17. Excel之COUNTIF函数 判断包含关系
  18. color model(颜色模型/色彩模型)
  19. 在网页中搜索指定内容和以PDF格式保存网页
  20. 易中天品汉代风云人物09:刘邦崛起之谜

热门文章

  1. 窗口 (好久没写了╮(╯▽╰)╭)
  2. html符号表星星,星星符号大全
  3. Python基础-48-文本处理(逗号分隔值CSV)
  4. 如何下载海外平台Vimeo的视频?
  5. 计算机网络实验4--IP动态路由搭建
  6. 北大青鸟Java内侧答案_北大青鸟推荐:Java精选笔试题(含答案解析)
  7. DELPHI编模拟鼠标,键盘操作,比键盘鼠标录制软件更强
  8. 黑莓手机屏幕发展历程对比 blackberry 各型号屏幕大小
  9. 最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器
  10. Java----jar包