将两种时间同乘 6 后用整数比较骑车、步行和相等情况。
OJ: noi_openjudge
题目 ID: ch0104-12
难度:入门
标签:数学条件判断python
日期: 2026-07-30 23:01
题意
步行速度为 1.2 米/秒,骑车速度为 3 米/秒且额外耗时 50 秒,比较哪种方式更快。
思路
步行时间为 5*d 与 2*d+300,全程使用整数,避免浮点数相等比较。
代码
Python代码
python
distance = int(input())
# 把步行和骑车时间同乘 6 后,比较 5*distance 与 2*distance+300。
walk_scaled = 5 * distance
bike_scaled = 2 * distance + 300
if bike_scaled < walk_scaled:
print("Bike")
elif bike_scaled > walk_scaled:
print("Walk")
else:
print("All")C++代码
cpp
#include <cstdio>
int main(){
int a,b;
scanf("%d",&a);
double walk_time = a / 1.2;
double bike_time = a / 3.0;
bike_time += 23;
bike_time += 27;
if( bike_time == walk_time)
printf("All");
else if ( bike_time > walk_time)
printf("Walk");
else {
printf("Bike");
}
return 0;
}复杂度
时间复杂度和额外空间复杂度均为
总结
比较含小数的公式时,可先消去分母,把问题转为精确整数比较。