POJ 1922:Ride to School 【水】
2016-02-05 20:34
281 查看
Ride to School
Description
Many graduate students of Peking University are living in Wanliu Campus, which is 4.5 kilometers from the main campus – Yanyuan. Students in Wanliu have to either take a bus or ride a bike to go to school. Due to the bad traffic in Beijing, many students choose
to ride a bike.
We may assume that all the students except "Charley" ride from Wanliu to Yanyuan at a fixed speed. Charley is a student with a different riding habit – he always tries to follow another rider to avoid riding alone. When Charley gets to the gate of Wanliu, he
will look for someone who is setting off to Yanyuan. If he finds someone, he will follow that rider, or if not, he will wait for someone to follow. On the way from Wanliu to Yanyuan, at any time if a faster student surpassed Charley, he will leave the rider
he is following and speed up to follow the faster one.
We assume the time that Charley gets to the gate of Wanliu is zero. Given the set off time and speed of the other students, your task is to give the time when Charley arrives at Yanyuan.
Input
There are several test cases. The first line of each case is N (1 <= N <= 10000) representing the number of riders (excluding Charley). N = 0 ends the input. The following N lines are information of N different riders, in such format:
Vi [TAB] Ti
Vi is a positive integer <= 40, indicating the speed of the i-th rider (kph, kilometers per hour). Ti is the set off time of the i-th rider, which is an integer and counted in seconds. In any case it is assured that there always exists a nonnegative Ti.
Output
Output one line for each case: the arrival time of Charley. Round up (ceiling) the value when dealing with a fraction.
Sample Input
Sample Output
Charley到达时间与出发时间大于零的最早到的人时间一致
AC-code:
Time Limit: 1000MS | Memory Limit: 30000K | |
Total Submissions: 20573 | Accepted: 8306 |
Many graduate students of Peking University are living in Wanliu Campus, which is 4.5 kilometers from the main campus – Yanyuan. Students in Wanliu have to either take a bus or ride a bike to go to school. Due to the bad traffic in Beijing, many students choose
to ride a bike.
We may assume that all the students except "Charley" ride from Wanliu to Yanyuan at a fixed speed. Charley is a student with a different riding habit – he always tries to follow another rider to avoid riding alone. When Charley gets to the gate of Wanliu, he
will look for someone who is setting off to Yanyuan. If he finds someone, he will follow that rider, or if not, he will wait for someone to follow. On the way from Wanliu to Yanyuan, at any time if a faster student surpassed Charley, he will leave the rider
he is following and speed up to follow the faster one.
We assume the time that Charley gets to the gate of Wanliu is zero. Given the set off time and speed of the other students, your task is to give the time when Charley arrives at Yanyuan.
Input
There are several test cases. The first line of each case is N (1 <= N <= 10000) representing the number of riders (excluding Charley). N = 0 ends the input. The following N lines are information of N different riders, in such format:
Vi [TAB] Ti
Vi is a positive integer <= 40, indicating the speed of the i-th rider (kph, kilometers per hour). Ti is the set off time of the i-th rider, which is an integer and counted in seconds. In any case it is assured that there always exists a nonnegative Ti.
Output
Output one line for each case: the arrival time of Charley. Round up (ceiling) the value when dealing with a fraction.
Sample Input
4 20 0 25 -155 27 190 30 240 2 21 0 22 34 0
Sample Output
780 771
Charley到达时间与出发时间大于零的最早到的人时间一致
AC-code:
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; struct node { int p,d; double t; }s[10005]; bool cmp(node a,node b) { return a.t<b.t; } int main() { int n,i,j,ans; while(scanf("%d",&n),n) { for(i=0;i<n;i++) { scanf("%d%d",&s[i].p,&s[i].d); s[i].t=s[i].d+4.5/s[i].p*3600; } sort(s,s+n,cmp); for(i=0;i<n;i++) if(s[i].d>=0) break; ans=s[i].t; if(ans!=s[i].t) ans++; printf("%d\n",ans); } return 0; }
相关文章推荐
- 快速排序
- matlab BP神经网络 机器学习 函数逼近
- Codeblocks如何调试DLL
- HDU 2151 Worm (动态规划)
- zoj 1221 Risk【最短路 3种方法】
- nyoj458小光棍数
- poj3254 Corn Fields
- ecshop 微信支付插件
- Mybatis 的日志管理
- 微信后台数据服务器
- ubuntu亮度调节失效
- codeforces AIM Tech Round
- HDU 4612 Warm up(边双连通分量)
- IIyarrAdetroSmorfsetacilpuDevomeR.80
- pcm2076最好的外置声卡芯片
- Threads and Anonymous Classes in JAVA
- LESS 学习记录(简单入门)
- 文件操作(File)
- Android开发之TextView高级应用
- Java [Leetcode 219]Contains Duplicate II