結果
| 問題 |
No.807 umg tours
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2019-03-22 22:06:54 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 875 bytes |
| コンパイル時間 | 225 ms |
| コンパイル使用メモリ | 82,400 KB |
| 実行使用メモリ | 167,592 KB |
| 最終ジャッジ日時 | 2024-09-19 05:30:42 |
| 合計ジャッジ時間 | 7,054 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 TLE * 1 -- * 14 |
ソースコード
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**8)
N,M=map(int,input().split())
E=[list(map(int,input().split())) for i in range(M)]
EDGE=[[] for i in range(N+1)]
for x,y,c in E:
EDGE[x].append([y,c])
EDGE[y].append([x,c])
MIN=[float("inf")]*(N+1)
MIN2=[float("inf")]*(N+1)
MIN[1]=0
MIN2[1]=0
def roadsearch(town,dist,maxdist):
#print(town,dist,maxdist)
for to,cost in EDGE[town]:
Flag=0
if maxdist>cost:
maxdist_town=maxdist
else:
maxdist_town=cost
if MIN[to]>dist+cost:
MIN[to]=dist+cost
Flag=1
if MIN2[to]>dist+cost-maxdist_town:
MIN2[to]=dist+cost-maxdist_town
Flag=1
if Flag:
roadsearch(to,dist+cost,maxdist_town)
roadsearch(1,0,0)
for i in range(1,N+1):
print(MIN[i]+MIN2[i])
titia