結果

問題 No.2602 Real Collider
ユーザー 👑 p-adic
提出日時 2024-01-13 00:26:58
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 868 ms / 2,000 ms
コード長 830 bytes
コンパイル時間 358 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 76,672 KB
最終ジャッジ日時 2024-09-28 00:46:16
合計ジャッジ時間 30,020 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 78
権限があれば一括ダウンロードができます

ソースコード

diff #

I,R,O=input,range,print
J=lambda:map(int,I().split())
Q=int(I())
a,b,c,d,e,f=J()
X=[a,c,e,a,c,e]
Y=[b,d,f,b,d,f]
for i in R(3):
	px=X[i]+X[i+1]
	qx=2
	py=Y[i]+Y[i+1]
	qy=2
	r=((X[i]-X[i+1])**2+(Y[i]-Y[i+1])**2)*(qx*qy)
	if((px-X[i+2]*qx)*qy)**2+((py-Y[i+2]*qy)*qx)**2<=r:break
else:
	#https://qiita.com/tatesuke/items/59133758ec25146766c3
	aa = a * a
	bb = b * b
	cc = c * c
	dd = d * d
	ee = e * e
	ff = f * f
	py = (e - a) * (aa + bb - cc - dd) - (c - a) * (aa + bb - ee- ff)
	qy = 2 * (e - a)*(b - d) - 2 * (c - a) * (b - f)
	px = (2 * (b - f) * py + (-aa - bb + ee + ff) * qy) if (c == a) else (2 * (b - d) * py + (-aa - bb + cc + dd) * qy)
	qx = (2 * (e - a)) * qy if (c==a) else (2 * (c - a)) * qy
	r = ((px - a*qx)*qy)**2+((py - b*qy)*qx)**2
for q in R(Q):
	x,y=J()
	O("YNeos"[((px - x*qx)*qy)**2+((py - y*qy)*qx)**2>r::2])
0