結果
問題 |
No.1473 おでぶなおばけさん
|
ユーザー |
|
提出日時 | 2021-08-29 13:59:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,411 ms / 2,000 ms |
コード長 | 1,357 bytes |
コンパイル時間 | 258 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 125,312 KB |
最終ジャッジ日時 | 2024-11-22 05:29:31 |
合計ジャッジ時間 | 23,289 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 47 |
ソースコード
from collections import deque n,m = map(int,input().split()) st = [[] for i in range(n)] for i in range(m): s,t,d = map(int,input().split()) s -= 1 t -= 1 st[s].append([t,d]) st[t].append([s,d]) wa = 10**10#敢えて-1している(ダメな方) ac = 1#OKな方 while ac+1 < wa: tmp = 0 mid = (wa + ac) //2 #print(mid) #判定書く chk = [0]*(n) d = deque() d.append(0) f = False while len(d): if f == True: break tmp = d.popleft() for i in st[tmp]: t = i[0] dt = i[1] if chk[t] == 0 and dt >= mid: if t == n-1: f = True #print(mid,f,"fff") break chk[t] = 1 d.append(t) if f == True: ac = mid else: wa = mid #print(ac) chk = [-1]*(n) d = deque() d.append(0) f = False chk[0] = 0 while len(d): if f == True: break tmp = d.popleft() for i in st[tmp]: t = i[0] dt = i[1] if chk[t] == -1 and dt >= ac: if t == n-1: f = True chk[t] = chk[tmp]+1 #print(mid,f,"fff") break chk[t] = chk[tmp]+1 d.append(t) print(ac,chk[n-1])