結果
問題 | No.2179 Planet Traveler |
ユーザー |
![]() |
提出日時 | 2025-03-31 17:36:32 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,008 bytes |
コンパイル時間 | 127 ms |
コンパイル使用メモリ | 82,372 KB |
実行使用メモリ | 124,252 KB |
最終ジャッジ日時 | 2025-03-31 17:37:18 |
合計ジャッジ時間 | 5,006 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 25 WA * 1 |
ソースコード
import mathimport heapqn = int(input())nodes = []for _ in range(n):x, y, t = map(int, input().split())r = math.hypot(x, y)nodes.append((x, y, t, r))adj = [[] for _ in range(n + 1)] # 1-based indexingfor i in range(n):x1, y1, t1, r1 = nodes[i]for j in range(i + 1, n):x2, y2, t2, r2 = nodes[j]if t1 != t2:s_ij = (r1 - r2) ** 2else:dx = x1 - x2dy = y1 - y2s_ij = dx * dx + dy * dyadj[i + 1].append((j + 1, s_ij))adj[j + 1].append((i + 1, s_ij))INF = float('inf')dist = [INF] * (n + 1)dist[1] = 0.0heap = []heapq.heappush(heap, (0.0, 1))while heap:current_max, u = heapq.heappop(heap)if u == n:breakif current_max > dist[u]:continuefor v, s in adj[u]:new_max = max(current_max, s)if new_max < dist[v]:dist[v] = new_maxheapq.heappush(heap, (new_max, v))ans = math.ceil(dist[n])print(ans)