#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 回归