2018年萌新刚升为队长,于是带领校队的n名队员一起去郊游,他选定的地点与学校的距离为l米。 为了更快达到目的地,萌新计算了经费后为大家租赁了一辆限乘k人的车,队员们都非常不满,但对于萌新队长敢怒不敢言。 现已知队员走路的速度为v1,车的速度为v2,每位队员只能上车一次。 你的任务是帮助萌新确定到达目的地所用的时间(保留10位小数,考虑上车下车、车掉头时间不计) 输入描述: 第一行输入一个整数m,代表m组数据。 接下来m行,输入5个正整数n,l,v1,v2,k。 其中1≤m≤1000,1≤n≤10000, 1≤l≤109, 1≤v1<v2≤109, 1≤k≤n 输出描述: 输出一行,为一个实数。代表萌新确定到达目的地所用的时间(保留10位小数,考虑上车下车、车掉头时间不计) 解答的c加加代码
时间: 2024-04-09 20:33:47 浏览: 112
杜家小学“我为学校献计献策”金点子汇总.doc
以下是对应的 C++ 代码实现:
```cpp
#include <iostream>
#include <cmath>
#include <iomanip>
int main() {
int m;
std::cin >> m;
for (int i = 0; i < m; i++) {
int n, l, v1, v2, k;
std::cin >> n >> l >> v1 >> v2 >> k;
double walk_time = (double)l / v1;
double ride_time = ceil((double)l / v2 * n / k);
double total_time = std::max(walk_time, ride_time);
std::cout << std::fixed << std::setprecision(10) << total_time << std::endl;
}
return 0;
}
```
在这个 C++ 代码中,我们首先输入数据组数 m。然后,使用一个循环依次输入每组数据。每组数据包括队员数量 n,距离 l,队员走路速度 v1,车速度 v2 和车的限乘人数 k。接下来,我们计算走路时间和乘车时间,并取较大值作为到达目的地所需的时间。最后,我们使用 std::fixed 和 std::setprecision(10) 来保留十位小数,并输出到达目的地所需的时间。
请注意,C++ 中的 ceil 函数用于向上取整,并且我们使用了类型转换 `(double)` 来确保除法运算得到的结果为浮点数。另外,包含 `<iostream>`、`<cmath>` 和 `<iomanip>` 头文件以使用相应的库函数。
阅读全文