1227:Ride to Office
- ceil函数,向上取整,返回double。
- 思路:比他出发早的对他肯定没有影响,因为要么遇到了之后速度没有他快,要么遇不到。也就是说,有影响的要么是一起出发的,要么是比他出发晚的。这两种情况,肯定是和另一个人一起到达终点,所以最后只需要看下每个人到达终点的时间,向上取整即可。
- 还有一点,速度单位换算的问题:4500/(v/3.6)=4500*3.6/v。由式子能看出来,v不用先除以3.6,直接乘到分子里就可以了,避免造成精度问题。
- 关于ceil\round、floor的区别见博客:https://blog.csdn.net/qq_43346054/article/details/107480088
#include<iostream>
#include<cmath>
using namespace std;
int arr[10002][10002],t;
int main(){
int n;
while(cin>>n&&n!=0){
int minn=999999999;
for(int i=1;i<=n;i++){
cin>>arr[i][0]>>arr[i][1];
if(arr[i][1]>=0){
t=int(ceil(4500*3.6/arr[i][0]+arr[i][1]));
minn=min(minn,t);
}
}
cout<<minn<<endl;
}
return 0;
}