测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A27690. 办事时间(time)

填空题 中等

题目描述

办事时间(time)

题目描述

在小明的校园里,没有自行车,上课、办事会很不方便。但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设小明找到自行车,开锁,上车起步的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断n种距离去办事的情况,每种情况是骑车快还是走路快?

输入格式

第一行输入一个正整数,表示n种距离。1≤n≤106,每次距离不超过109。

接下来n行,每行一个正整数,表示一次办事要行走的距离,单位为米。

输出格式

输出n行,每次如果骑车快,输出Bike;如果走路快,输出Walk;如果一样快,输出All。

Samples

输入数据 1

2

1

1000

输出数据 1

Walk

Bike

样例解释

两组输入,第一组距离为1,走路花费时间为0.833333秒,骑车为50.333333秒,因为走路更快,所以输出“Walk”;第二组距离为1000,走路花费时间为833.333333秒,骑车为383.333333秒,因为骑车更快,所以输出“Bike”。

数据范围

参考答案

#include <iostream> using namespace std; double a; // 存储读取的距离 double b, c; // 存储步行和骑车所需的时间 int main() { int n; //定义1个int变量n scanf("%d", &n); // 读入n的值,表示有n种距离 for (int i = 0; i < n; i++) { // 循环n次 a = b = c = 0; // 每计算一个新的距离,a、b、c都清零,避免之前的值影响这一次计算 scanf("%lf", &a); // 读取当前的距离值 b = a / 1.2; // 步行所需时间 = 距离/步行的速度 c = a / 3.0 + 27.0 + 23.0; // 骑车所需时间 = 距离/骑车的速度+找车开锁、停车锁车的时间 if (c > b) // 比较步行时间和骑车时间,如果骑车时间大于步行时间,输出“Walk” printf("Walk\n"); else if (b > c) // 如果骑车时间小于步行时间,输出“Bike” printf("Bike\n"); else if (b == c) // 如果两者时间相等,输出“All” printf("All\n"); } return 0; }
上一题 下一题