結果

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

ソースコード

diff #

I,R=input,range
J=lambda:map(int,I().split())
Q=int(I())
a,b,c,d,e,f=J()
X=[a,c,e,a,c]
Y=[b,d,f,b,d]
for i in R(3):
	py=Y[i]+Y[i+1]
	qy=2
	px=X[i]+X[i+1]
	qx=1
	r=((X[i]-X[i+1])**2+(Y[i]-Y[i+1])**2)*qx
	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)) if (c==a) else (2 * (c - a))
	r = (px - a*qx*qy)**2+((py - b*qy)*qx)**2
for q in R(Q):
	x,y=J()
	print("YNeos"[(px - x*qx*qy)**2+((py - y*qy)*qx)**2>r::2])
0