#2964. 同心圆(Concentric Circles)
同心圆(Concentric Circles)
同心圆(Concentric Circles)
题目描述
xy 平面上是否存在满足以下全部条件的两个圆 C₁、C₂?(C₁ 与 C₂ 可以重合。)
- 相异的两点 (P_x,P_y)、(Q_x,Q_y) 在 C₁ 的圆周上。
- 相异的两点 (R_x,R_y)、(S_x,S_y) 在 C₂ 的圆周上。
- C₁ 与 C₂ 的圆心重合。
给定 T 个测试用例,请分别作答。
输入格式
T
case₁
case₂
⋮
case_T
每个测试用例格式如下:
Px Py Qx Qy Rx Ry Sx Sy
输出格式
输出 T 行。第 t 行输出第 t 个测试用例的答案:存在满足条件的两个圆则输出 Yes,否则输出 No。
样例输入 #1
3
2 0 1 1 -1 0 1 2
1 0 -1 0 0 1 0 -1
4 0 3 1 2 0 1 1
样例输出 #1
Yes
Yes
No
第一个测试用例中,取圆心 (1,0)、半径 1 的圆为 C₁,圆心 (1,0)、半径 2 的圆为 C₂,即可满足条件。第二个测试用例中,取 C₁、C₂ 均为圆心 (0,0)、半径 1 的圆即可。
数据范围
- 1 ≤ T ≤ 5×10⁴
- −10⁹ ≤ P_x,P_y,Q_x,Q_y,R_x,R_y,S_x,S_y ≤ 10⁹
- (P_x,P_y) ≠ (Q_x,Q_y)
- (R_x,R_y) ≠ (S_x,S_y)
- 输入值均为整数
知识点与难度
本题涉及的知识点从属于 GESP 4级,难度等级:⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 T≤5 / 特殊: 非平行 / 特殊: 平行相离 / 特殊: 平行重合 |
| 2 | 15 | 9~11 | Hack: 坐标极值 / Hack: 平行重合极值 / Hack: 平行相离极值 |
| 3 | 30 | 12~20 | 中规模 T≈1e3 / 大规模 T≈5e4 压力 |
| 4 | 25 | 21~25 | 随机 T=1~5e4 回归 |