骑车上课问题
来源:互联网 发布:csgo mac 编辑:程序博客网 时间:2024/03/28 19:21
描述
许多北大学生住在汪留校区,离主校区燕园4.5公里。汪留校区的学生要么乘公共汽车要么骑自行车去主校区上课。由于北京交通状况差,许多学生选择骑自行车。
可假设所有学生(除了“Charley” 以外),骑自行车从汪留到燕园的速度不变。Charley是一个有不同骑车习惯的学生―他总是试图跟在另一个骑自行车的人的后面,避免个人单独骑车走。当Charley骑到汪留的大门时,他就会找一个到燕园的人。如果找到了,他就跟在那人的后面;如果没有找到,他就会等待有这样一个人再走。在从汪留到燕园的路上,只要有一个更快的学生超过他,他就会离开那个先跟着的人,并加速跟着那个更快的人。
假定Charley到汪留门口的时间为0,给定出发时间和其他学生的速度,你的任务是给出Charley到燕园的时间。
输入
M个测试用例。每个测试用例的第一行是N(1<=N<=10000),表示骑自行车的人数(除Charley外)。N=0结束输入。接下来的N行是N个不同骑自行车的人的信息,格式为:
Vi Ti
Vi是一个小于或等于40的正整数,表示第i个人的骑车速度(kph,公里每小时),Ti是第i个人的出发时间,是一个整数,以秒计数。在每个测试用例中都保证总是存在一个非负数Ti。
输出
每个测试用例输出一行:Charley的到达时间,对时间进行上取整,精确到秒。
样例输入
4
20 0
25 -155
27 190
30 240
2
21 0
22 34
0
20 0
25 -155
27 190
30 240
2
21 0
22 34
0
样例输出
780
771
771
#include<iostream>#include<cstdio>using namespace std;int main(){ int n,i,x; float v,t,T,j,k; while(scanf("%d",&n)!=EOF) { if(n==0)break; for(i=1,j=0;i<=n;i++) { cin>>v>>t; if(t<0) continue; v=v/3600; T=4.5/v; k=T+t; if(j==0) j=k; else if(k<j) j=k; x=j*1000; if(x%1000>=1) j=x/1000+1; } cout<<j<<endl; } return 0;}
- 骑车上课问题
- 上课
- 上课
- 上课
- 上课
- 上课
- 上课上课
- 关于今天小班上课,两个问题。
- jsp编码问题与基本知识,上课笔记
- 放手骑车
- 早上骑车
- 骑车记
- 关于骑车
- 在清华校园里,没有自行车,上课办事会很不方便。但实际上。并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并车上自行车的时间为27秒;停车锁车的时
- 今天上课的时候碰到一个JS问题
- 骑车回巴黎
- 骑车去追风
- 骑车与走路
- jsp中的路径问题
- 字符统计2(统计出现频率最大的字符)
- 海盗分硬币问题总结
- 华为笔试
- 数据结构之多叉树的定义
- 骑车上课问题
- Linux服务器ftp,telnet,ssh慢
- Proxy(代理模式)
- 源码管理工具
- 2013-08-16 PMP错题记录
- 约瑟夫问题(线段树)
- 《鸟哥的Linux私房菜》读书笔记三
- 使用SAP锁对象
- Android异步处理系列文章索引