結果
| 問題 |
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])