結果
| 問題 | No.62 リベリオン(Extra) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-01-15 14:12:26 |
| 言語 | Python3 (3.14.2 + numpy 2.4.0 + scipy 1.16.3) |
| 結果 |
AC
|
| 実行時間 | 1,076 ms / 5,000 ms |
| コード長 | 465 bytes |
| 記録 | |
| コンパイル時間 | 611 ms |
| コンパイル使用メモリ | 20,804 KB |
| 実行使用メモリ | 46,660 KB |
| 最終ジャッジ日時 | 2026-01-15 14:12:35 |
| 合計ジャッジ時間 | 7,203 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 3 |
ソースコード
import numpy as np
def extgcd(a,b):
if b==0:return 1-2*(a<0),0,abs(a)
y,x,d=extgcd(b,a%b)
return x,y-(a//b)*x,d
W,H,D,Mx,My,Hx,Hy,Vx,Vy=np.loadtxt(open(0),"q",skiprows=1).astype("O").T
t,u,d=np.vectorize(extgcd)(2*W*Vy,-2*H*Vx);X=[2*W-Hx-Mx,Mx-Hx]*2;Y=[2*H-Hy-My]*2+[My-Hy]*2
m=4*W*H*Vx//d;m[m==0]=1;n=2*Vy*W;n[n==0]=1
for i in((Vx==0)&(X==0)&(abs(Y%n)<=abs(Vy*D))|((X*Vy-Y*Vx)%d==0)&(abs((2*W*(Y*Vx-X*Vy)//d*t+X)%m)<=abs(Vx*D))).T:print("MHiists"[0+i.any()::2])