社区讨论

玄关求调

P14914「QFOI R3」航线交汇参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mjqqes6g
此快照首次捕获于
2025/12/29 13:42
2 个月前
此快照最后确认于
2026/01/01 17:00
2 个月前
查看原帖
C
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+5;
int n, d, s[N], t[N], h[N], ST;
int main() {
	cin >> n >> d;
	for(int i=1; i<=n+1; i++)
		cin >> s[i] >> t[i] >> h[i];
	ST = t[1]-s[1];
	for(int i=2; i<=n+1; i++) {
		if(abs(h[i]-h[1])>d) {
			cout << "No\n";
			continue;
		}
		double k = abs(t[i]-s[i])*1.0/ST;
		if(t[i]-s[i]<0) k = -k;
		if(k==1&&s[i]==s[1]) {
			cout << "Always\n";
			continue;
		}
		if(k==1&&s[i]!=s[1]) {
			cout << "No\n";
			continue;
		}
		double x = (s[1]-s[i])*1.0/(k-1);
		if(x<0||x>ST) cout << "No\n";
		else printf("%.12f\n", x);
	} 
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...