【蓝桥杯】【python】夺宝奇兵
问题描述
思路描述
其实和之前做的“数字三角形”那道题目差不多啦,也是从上往下遍历,定义一个从这个数开始保存最大数的列表,具体思路可以看我之前的文章:
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】夺宝奇兵相关推荐
- [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索
题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...
- [蓝桥杯][算法提高VIP]夺宝奇兵-dp
题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...
- [蓝桥杯][算法提高VIP]夺宝奇兵(记忆化搜索||DP)
题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...
- 蓝桥杯 ADV-62算法提高 夺宝奇兵(动态规划)
[题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 &qu ...
- 题目 1514: [蓝桥杯][算法提高VIP]夺宝奇兵
时间限制: 1Sec 内存限制: 128MB 提交: 915 解决: 583 题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝 ...
- Java夺宝_Java实现 蓝桥杯VIP 算法提高 夺宝奇兵
算法提高 夺宝奇兵 时间限制:1.0s 内存限制:512.0MB [题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: ...
- 蓝桥杯 算法提高 夺宝奇兵
算法提高 夺宝奇兵 时间限制:1.0s 内存限制:512.0MB [题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图 ...
- python比赛2020_2020蓝桥杯python组备战方法
用python刷算法题中的小技巧 我们需要知道python的一些常用小技巧: 下面列出一些在蓝桥杯python编程需要用到的小技巧: 学习过python的同学一定知道,学习python语法是很简单的一 ...
- 蓝桥杯Python初级组测试题之Turtle画图2
蓝桥杯Python初级组测试题之Turtle画图2 1. 画8个内接正五边形 题目描述 解题思路 (1) 共有n=8个正五边形,因而有8次循环,每次旋转角度增加ang=360/n (2) 画内接正五边 ...
- [蓝桥杯python] 印章:共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率
[蓝桥杯python] 印章 问题描述 1.资源限制 2.输入格式 3.输出格式 4.样式输入及输出 5.代码及解析 大功告成!编写不易,大家成功后点个关注or赞谢谢~~ 问题描述 共有n种图案的 ...
最新文章
- 子类窗口向父类窗口传值
- html 设置div占位符,HTML5+CSS3 一组文本输入框占位符动效
- Java 洛谷 P1059 [NOIP2006 普及组] 明明的随机数
- 控制台添加log4net
- linux rpm找不到命令_linux书后习题(4-9章不全) - lijinli
- 70进货卖100利润是多少_进货价8块的产品,在网上卖100块,这个电商卖家能赚多少!...
- 安装ipython(一分钟读懂)
- Arrays.asList 方法注意事项
- Java Date实现加一天,年月日类推往后+1,日期+1,月份+1,年份+1
- 推荐几个清华和交大学霸公众号,值得学习
- 监听软键盘中的删除键
- HTML5 页面布局【结合案例】
- Spark独到见解--Transformation算子总结
- 苹果Apple TV+上线了重磅史诗级别科幻作品,这是要挑战Netflix、HBO?
- 火山引擎发布云操作系统 veLinux
- 元宇宙营销新时代| 元宇宙数字营销峰会于7月29日在上海淳大万丽酒店盛大开幕!
- Excel之COUNTIF函数 判断包含关系
- color model(颜色模型/色彩模型)
- 在网页中搜索指定内容和以PDF格式保存网页
- 易中天品汉代风云人物09:刘邦崛起之谜