結果
| 問題 |
No.2602 Real Collider
|
| コンテスト | |
| ユーザー |
るこーそー
|
| 提出日時 | 2025-01-01 02:47:42 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,123 ms / 2,000 ms |
| コード長 | 1,130 bytes |
| コンパイル時間 | 297 ms |
| コンパイル使用メモリ | 82,340 KB |
| 実行使用メモリ | 90,956 KB |
| 最終ジャッジ日時 | 2025-01-01 02:48:33 |
| 合計ジャッジ時間 | 48,333 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 78 |
ソースコード
from fractions import Fraction
def main():
q=int(input())
xa,ya,xb,yb,xc,yc=map(int,input().split())
ab2=(xa-xb)*(xa-xb)+(ya-yb)*(ya-yb)
bc2=(xb-xc)*(xb-xc)+(yb-yc)*(yb-yc)
ca2=(xc-xa)*(xc-xa)+(yc-ya)*(yc-ya)
if ab2>=bc2+ca2:
ox=Fraction(xa+xb,2)
oy=Fraction(ya+yb,2)
r2=(ox-xa)*(ox-xa)+(oy-ya)*(oy-ya)
elif bc2>=ab2+ca2:
ox=Fraction(xc+xb,2)
oy=Fraction(yc+yb,2)
r2=(ox-xc)*(ox-xc)+(oy-yc)*(oy-yc)
elif ca2>=ab2+bc2:
ox=Fraction(xc+xa,2)
oy=Fraction(yc+ya,2)
r2=(ox-xa)*(ox-xa)+(oy-ya)*(oy-ya)
else:
ox=Fraction((xa*xa+ya*ya)*(yb-yc)+(xb*xb+yb*yb)*(yc-ya)+(xc*xc+yc*yc)*(ya-yb),((yb-yc)*(xa-xb)-(ya-yb)*(xb-xc))*2)
oy=Fraction((xa*xa+ya*ya)*(xb-xc)+(xb*xb+yb*yb)*(xc-xa)+(xc*xc+yc*yc)*(xa-xb),((xb-xc)*(ya-yb)-(xa-xb)*(yb-yc))*2)
r2=(ox-xa)*(ox-xa)+(oy-ya)*(oy-ya)
for _ in range(q):
x,y=map(int,input().split())
rr2=(ox-x)*(ox-x)+(oy-y)*(oy-y)
if rr2<=r2:
print('Yes')
else:
print('No')
if __name__ == "__main__":
main()
るこーそー