小学生蓝桥杯Python闯关 | 小Y的成绩
Python 蓝桥 成绩 小学生 闯关
2023-09-14 09:09:06 时间
学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客
【题目描述】
小 Y 特别喜欢环湖赛跑,因为这样空气非常好,跑起来特别有动力。正值一年一度的环湖跑王者争霸赛开始了,小 Y 就立刻报名了。比赛主办方在周长为 8000 米的湖周围一圈设置了 n 个夺分点,逆时针编号为 1~n,每个夺分点的积分不一定相同,每个积分点的具体位置和积分数量由主办方在比赛开始前公布。比赛规定:参赛者可以选择从赛道的任意一点出发,只能逆时针跑,需要在 5 分钟内尽可能多拿分,只要到达积分点即可得到该积分点的积分,不同人到达同一积分点均能得到积分,互不影响。经过小 Y 自己赛前的反复测试发现,平均下来,自己比赛时的速度为 3.5 米每秒。
请问小 Y 以这个速度最多能拿多少分呢?最多能拿的分和最少能拿的分差多少呢?
【输入描述】
2n + 1 行,
第一行,一个整数 n,表示积分点的个数;
接下来 n 行,每行一个数,表示积分点的距离,这个距离是相对于 1 号积分点的距离。距离按照积分点的编号从 1 到 n 进行输入,由小到大,保证一圈的距离足够大,无法跑完一整圈;
再接下来的 n 行,每行一个数,表示每个积分点的积分,也是按照积分点的编号顺序进行输入,保证积分总和不超过 1000000000。
【输出描述】
两行,
第一行为小 Y 能得到的最多积分;
第二行为小 Y 能拿到最多积分与最少积分的差值。
【样例输入】
5
0
123
555
6111
7521
23
54
21
76
32
【样例输出】
130
109
【代码详解】
n = int(input())
ls = [int(input()) for i in range(n)]
ls.append(8000)
total = int(3.5 * 300)
point = 0
ls_sum = []
ls2 = []
# 计算两点之间的距离
for i in range(1, len(ls)):
dis = ls[i] - ls[i - 1]
ls2.append(dis)
ls2 = ls2 * 2 # 重复一遍列表,以免从任意位置开始后距离不足
# 生成距离对应的积分
ls_p = [int(input()) for i in range(n)]
ls_p1 = ls_p.pop(0)
ls_p.append(ls_p1)
ls_p = ls_p * 2 # 对应上面距离,将积分列表也重复一遍
dist = 0
for i in range(len(ls2) // 2):
if i == 0:
point = point + ls_p[-1]
else:
point = point + ls_p[i - 1]
for j in range(i, len(ls2)):
dist = dist + ls2[j]
if total < dist:
dist = 0
break
else:
point = point + ls_p[j]
ls_sum.append(point)
point = 0
# 按照从小到大顺序排列
ls_sum.sort()
print(max(ls_sum))
print(ls_sum[-1] - ls_sum[0])
复制代码
【运行结果】
5
0
123
555
6111
7521
23
54
21
76
32
130
109
相关文章
- 恢复pycharm中误删的Python文件
- pycharm打包python项目_Python怎么打包
- python中矩阵的转置怎么写_Python 矩阵转置的几种方法小结
- python移动app开发_神奇的Kivy,让Python快速开发移动app
- python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)[通俗易懂]
- python中sqrt函数用法_Python : sqrt() 函数
- python中cPickle用法「建议收藏」
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- 【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]
- python 多线程测试_【Python】多线程网站死链检测工具
- json转字符串 python_Python读取json
- 【说站】python列表中有哪些内置函数
- 【说站】Python中JSON数据如何读取
- Python绘制旭日图_python绘制散点图
- python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用
- Abaqus网格划分的python二次开发问题
- Python多线程下调用win32com包相关问题:pywintypes.com_error: (-2147221008, ‘尚未调用 CoInitialize。‘, None, None)问题处理
- Ubuntu18.04 一键升级Python所有第三方包 及安装python包的方法
- CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法详解编程语言
- python:map_reduct_filter_sorted详解编程语言
- Python 的加密库入门
- Python正则表达式常用函数详解
- Linux下的Python开发技术之旅(linux下python开发)
- Python字符串操作方法大全