結果

問題 No.2602 Real Collider
ユーザー 👑 p-adic
提出日時 2024-01-13 01:06:01
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 928 ms / 2,000 ms
コード長 627 bytes
コンパイル時間 205 ms
コンパイル使用メモリ 81,836 KB
実行使用メモリ 76,884 KB
最終ジャッジ日時 2024-09-28 00:56:06
合計ジャッジ時間 30,686 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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,qy=Y[i]+Y[i+1],2
	px,qx=X[i]+X[i+1],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
	L=[a*a+b*b,c*c+d*d,e*e+f*f]
	py,qy=(e-c)*L[0]-(e-a)*L[1]+(c-a)*L[2],2*((e-a)*(b-d)-(c-a)*(b-f))
	px=((2*(b-f)*py+L[2]*qy)if(c==a)else(2*(b-d)*py+L[1]*qy))-L[0]*qy
	qx=2*(e-a if c==a else 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