社区讨论
......
B4351[信息与未来 2025] 成语接龙参与者 5已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhphu306
- 此快照首次捕获于
- 2025/11/08 07:35 3 个月前
- 此快照最后确认于
- 2025/11/09 02:26 3 个月前
0分怎么办
CPP#include <iostream>
#include <algorithm>
using namespace std;
// 计算最大公约数
long long gcd(long long a, long long b) {
return b == 0 ? a : gcd(b, a % b);
}
int main() {
long long l, v1, v2, t;
cin >> l >> v1 >> v2 >> t;
// 确保v1 <= v2
if (v1 > v2) swap(v1, v2);
// 如果v1为0,只计算v2的相遇次数
if (v1 == 0) {
cout << (v2 * t + l) / (l * 2) << endl;
return 0;
}
// 计算相向和同向相遇次数之和
long long ans = ((v1 + v2) * t + l) / (l * 2) + ((v2 - v1) * t + l) / (l * 2);
// 计算最大公约数
long long GCD = gcd(v1, v2);
// 如果奇偶性不同,减去端点相遇次数
if (((v1 / GCD) & 1) != ((v2 / GCD) & 1)) {
ans -= (GCD * t + l) / (l * 2);
}
cout << ans << endl;
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...