結果
問題 |
No.168 ものさし
|
ユーザー |
![]() |
提出日時 | 2015-03-21 02:06:08 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 899 bytes |
コンパイル時間 | 219 ms |
コンパイル使用メモリ | 82,496 KB |
実行使用メモリ | 163,568 KB |
最終ジャッジ日時 | 2024-06-28 23:51:13 |
合計ジャッジ時間 | 12,543 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 6 TLE * 3 -- * 10 |
ソースコード
#!/usr/bin/env python # -*- coding: utf-8 -*- from decimal import Decimal from heapq import heappop,heappush import math N = int(input()) XYs = [list(map(int,input().split())) for i in range(0,N)] dist = lambda p1,p2: (p1[0] - p2[0])**2 + (p1[1] - p2[1])**2 distances = [[Decimal(dist(XYs[i], XYs[j])).sqrt() for i in range(N)] for j in range(N)] max_distances = [10**10 for i in range(N)] ans = 10**10 queue = [] heappush(queue,(0,0)) while queue != []: distance,index = heappop(queue) if ans <= distance: continue if index == N-1: ans = min(ans,distance) continue for j in range(N): if index == j: continue if distances[index][j] < max_distances[j] and distance < max_distances[j]: max_distances[j] = max(distance,distances[index][j]) heappush(queue,(max_distances[j],j)) print(10*math.ceil(ans/10))