結果
| 問題 | No.2179 Planet Traveler |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2023-05-30 08:16:05 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 1,444 ms / 3,000 ms |
| コード長 | 527 bytes |
| 記録 | |
| コンパイル時間 | 496 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 36,736 KB |
| 最終ジャッジ日時 | 2024-12-28 11:25:47 |
| 合計ジャッジ時間 | 19,631 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 26 |
ソースコード
import math
I,R=input,range
def J():
return map(int,I().split())
N=int(I())
P=[0]*N
for i in R(N):
X,Y,T=J()
P[i]=[X*X+Y*Y,X,Y,T]
D=[[0]*N for i in R(N)]
for i in R(N):
p=P[i]
for j in R(N):
q=P[j]
if p[3]==q[3]:u=(q[1]-p[1])**2+(q[2]-p[2])**2
else:
s=4*p[0]*q[0]
r=int(math.sqrt(s))+1
while s<r*r:r-=1
u=p[0]-r+q[0]
D[i][j]=u
M=3200000001
W=[M]*N
W[0]=0
Q={i for i in R(N)}
while len(Q):
e,w=N,M
for q in Q:
if w>W[q]:e,w=q,W[q]
Q.remove(e)
for q in Q:W[q]=min(W[q],max(w,D[e][q]))
print(W[N-1])