算法题目:北邮python 3-C 排队前进
一道python作业的题目,比较有意思,题目如下:
题目描述
有 n 个人排队向一个方向前进,他们前进的速度并不一定相同。 最开始即 t=0 时,每个人的位置并不相同。可以把他们放在数轴上,设他们前进的方向为正方向,对于从左往右第 i 个人,编号为 i,他的初始位置为xi ,初始速度为vi。编号为1的人(队尾,位于数轴最左侧)的位置总为坐标原点,即总有x1=0。(位置单位为米,速度单位为米每秒)。 虽然他们的前进速度不同,但是他们要保证前后顺序不能变。即i追赶上 i+1 的时候, i 将会紧跟 i+1 以 i+1 的当前速度前进.可以认为他们是紧挨着的,之间的距离可以忽略不计。 求编号为1的人前进 s 米需要多少秒.
输入
第一行两个整数n,s,其中(1<=n,s<=100,000),代表n个人排队前进,以及最后的一个人需要前进的距离为s米。 接下来n行,每行两个整数xi,vi,代表第i个人的位置xi,以及他的初始速度vi,保证(0=x1≤x2≤..≤xn≤100,000,1≤vi≤100,000)。
输出
输出一个小数,按照四舍五入的原则恰好保留小数点后两位(测试数据保证答案的小数点后第三位不是4或5)。
样例输入
3 4
0 3
1 2
2 1
样例输出
2.00
也就是说一队人同时在不同位置沿直线向同一方向开跑,如果跑得快的人追到了跑得慢的人,那就得和慢的人“陪跑”,问最后一个人需要多长时间才能到达终点。
题目中有个重要点是大家是一起跑的,也就是说如果A君跑的过程中和B君“陪跑”了,那么他俩达到终点时所花时间时相同的。借此可以推断,最后一个人跑到终点的时间,是他及开始位置在他之前的每个人直接跑到终点所花时间的最大值。可以反证:如果最后一个人所用时间不是这个最大值,那么当他跑到终点时还有人没有跑完,也就是说最后一个人超过了那个速度慢一些、还没有跑完的人。由此问题迎刃而解。
tempList = input().split()
person = int(tempList[0])
distance = int(tempList[1])
array = []
time = 0.0
for i in range(0, person):
array = input().split()
temptime = float((distance - int(array[0])) / int(array[1]))
if temptime > time:
time = temptime
round(time, 2)
print('%.2f' % time)
算法题目:北邮python 3-C 排队前进的更多相关文章
- 北邮14&18年软院机试【参考】答案
2014 Problem A. 奇偶求和 题目描述: 给定N个数,分别求出这N个数中奇数的和以及偶数的和. 输入格式 第一行为测试数据的组数T(1<=T<=50).请注意,任意两组测试数据 ...
- 北邮oj 104. 912星球的研究生
104. 912星球的研究生 时间限制 1000 ms 内存限制 65536 KB 题目描述 最近912星球的研究生入学了,912星球的教务处因此忙的焦头烂额,要求yzr做一个信息管理系统登陆查询研究 ...
- 北邮oj 97. 二叉排序树
97. 二叉排序树 时间限制 1000 ms 内存限制 65536 KB 题目描述 二叉排序树,也称为二叉查找树.可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 若左子树非空,则左子树上所有节 ...
- Top Coder算法题目浏览器
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/top-code-offline-browser/ 关于 左耳朵耗子 ...
- 一道算法题目, 二行代码, Binary Tree
June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Home ...
- iOS面试中常见的算法题目
一.前言 这里是在iOS求职中自己遇到的算法题,希望对大家有所帮助.不定期更新.如果大家想在线运行代码调试,可以将代码拷贝到这里.然后进行调试.下面就是常见的算法题目. 二.正文 1.就n的阶乘.(这 ...
- 机器学习经典算法详解及Python实现--基于SMO的SVM分类器
原文:http://blog.csdn.net/suipingsp/article/details/41645779 支持向量机基本上是最好的有监督学习算法,因其英文名为support vector ...
- 【起】ACM类下为过往所做过的部分算法题目
[起]ACM类下为过往所做过的部分算法题目 几百道题,日后细细品味.
- 机器学习经典算法具体解释及Python实现--线性回归(Linear Regression)算法
(一)认识回归 回归是统计学中最有力的工具之中的一个. 机器学习监督学习算法分为分类算法和回归算法两种,事实上就是依据类别标签分布类型为离散型.连续性而定义的. 顾名思义.分类算法用于离散型分布预測, ...
随机推荐
- centos 安装docker方法2
1 更新yum yum -y update 2 执行命令 linux 安装dockersudo wget -qO- https://get.docker.com | sh解释如下sudo 使用root ...
- Eclipse JSP +Tomcat 环境搭建 错误记录
环境搭建请参考原文:https://www.cnblogs.com/james-lee/p/5964238.html 错误1:运行时,弹出如下错误:(如果没有此错误,请忽略) 原因是,我们之前点击了T ...
- C# 使用MySQL事务的使用方法
//使用事务来处理多条数据,如果不成功则回滚 public void getCheckListSubmit() { string _conStr = "................&qu ...
- Curl可以模拟浏览器
curl直接访问被拒绝 [22:10:00 root@C7 ~]#curl -I www.163.com HTTP/1.1 403 Forbidden Date: Wed, 24 Jun 2020 0 ...
- 蒲公英 · JELLY技术周刊 Vol.26: 请问您这个月要来点肝么?
蒲公英 · JELLY技术周刊 Vol.26 今年的十月,不知道大家在 TODO List 上新增了多少条目准备尝鲜,你可能已经准备了 Vue3.Webpack5 以及 React v17.0 RC, ...
- nrm切换npm源
使用 nrm 提供了一些最常用的npm包镜像地址,能够让我们快速的切换安装包时候的服务器地址: 全局安装nrm包 npm i nrm -g 查看当前所有可用的镜像源地址以及当前所使用的镜像源地址 nr ...
- 最新版Python 3.8.6 版本发布
Python 3.8.6 发布了,它是 Python 3.8 的第六个维护版本. 3.8 系列的维护版本将每两个月定期更新一次,3.8.7 计划于 2020 年 11 月中旬发布. 随着维护版本的发布 ...
- SAP ABAP: 把内表数据以excel或csv格式,通过前台或者后台的方式上传至FTP服务器
今天接到一个FTP的需求,就是每天晚上把当天某个报表的数据自动保存excel上传到FTP服务器. SAP已经有现成的FTP函数使用,可以通过函数的方式来实现,实现前先准备一些数据: User:登录FT ...
- 循序渐进VUE+Element 前端应用开发(22)--- 简化main.js处理代码,抽取过滤器、全局界面函数、组件注册等处理逻辑到不同的文件中
在我们开发代码的时候,一般都喜欢进行一定程度的重构,以达到简化代码.关注点分离.提高代码可读性等等方面的考虑,本篇随笔介绍在VUE+Element 前端应用开发过程中,实现简化main.js处理代码, ...
- Ubuntu下创建apt源
1. 下载所需安装文件 sudo apt-get install soft name 安装并保存安装文件 或者 sudo apt-get source soft name 只下载安装文件 ...