1227:Ride to Office

本文解析了RidetoOffice算法的实现思路,通过向上取整函数处理速度单位换算,确保精度,避免误差。讨论了算法中涉及的出发时间和速度的影响,并提供了具体的代码实现,包括使用ceil函数进行时间计算的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1227:Ride to Office

  1.  ceil函数,向上取整,返回double。
  2. 思路:比他出发早的对他肯定没有影响,因为要么遇到了之后速度没有他快,要么遇不到。也就是说,有影响的要么是一起出发的,要么是比他出发晚的。这两种情况,肯定是和另一个人一起到达终点,所以最后只需要看下每个人到达终点的时间,向上取整即可。
  3. 还有一点,速度单位换算的问题:4500/(v/3.6)=4500*3.6/v。由式子能看出来,v不用先除以3.6,直接乘到分子里就可以了,避免造成精度问题。
  4. 关于ceil\round、floor的区别见博客:https://blog.youkuaiyun.com/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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值