結果
| 問題 |
No.2602 Real Collider
|
| コンテスト | |
| ユーザー |
maeshun
|
| 提出日時 | 2024-01-13 14:26:23 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,379 bytes |
| コンパイル時間 | 360 ms |
| コンパイル使用メモリ | 82,432 KB |
| 実行使用メモリ | 91,264 KB |
| 最終ジャッジ日時 | 2024-09-28 01:27:09 |
| 合計ジャッジ時間 | 52,660 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 1 WA * 77 |
ソースコード
from fractions import Fraction
def main():
q = int(input())
x1, y1, x2, y2, x3, y3 = map(int, input().split())
r = 0
if (x2 - x1) * (y3 - y1) == (x3 - x1) * (y2 - y1):
Mx = max(x1, max(x2, x3))
mx = min(x1, min(x2, x3))
My = max(y1, max(y2, y3))
my = min(y1, min(y2, y3))
r = (Fraction(Mx - mx,2)) ** 2 + (Fraction(My - my,2)) ** 2
xg = Fraction(mx + Mx,2)
yg = Fraction(my + My,2)
for _ in range(q):
x, y = map(int, input().split())
R = (xg - x) ** 2 + (yg - y) ** 2
if R <= r:
print("Yes")
else:
print("No")
else:
det = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)
m = [[y3 - y1, -y2 + y1], [-x3+x1, x2 -x1]]
f = [Fraction(x2 ** 2 + y2 ** 2,2) - Fraction(x1 ** 2 - y1 ** 2,2), Fraction(x3 ** 2 + y3 ** 2,2) - Fraction(x1 ** 2 - y1 ** 2,2)]
e = [m[0][0] * f[0] + m[0][1] * f[1],
m[1][0] * f[0] + m[1][1] * f[1]]
xg = Fraction(e[0], det)
yg = Fraction(e[1],det)
r = (xg-x1)**2 + (yg-y1)**2
for _ in range(q):
x, y = map(int, input().split())
R = (xg - x) ** 2 + (yg - y) ** 2
if R <= r:
print("Yes")
else:
print("No")
if __name__ == "__main__":
main()
maeshun