結果
問題 |
No.1344 Typical Shortest Path Sum
|
ユーザー |
![]() |
提出日時 | 2021-01-16 14:59:44 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 996 bytes |
コンパイル時間 | 389 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 338,240 KB |
最終ジャッジ日時 | 2024-11-27 17:19:48 |
合計ジャッジ時間 | 18,859 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 73 TLE * 4 |
ソースコード
from collections import deque n,m=map(int,input().split()) num=[[[] for _ in range(n)] for z in range(n)] for i in range(m): s,t,d=map(int,input().split()) num[s-1][t-1].append(d) num2=[[] for _ in range(n)] for i in range(n): for j in range(n): if len(num[i][j])!=0: num2[i].append([j,min(num[i][j])]) for i in range(n): queue=deque() ans=[10**18]*n ans[i]=0 queue.append(i) cnt=0 while len(queue)!=0: cnt+=1 num1=queue.popleft() num3=ans[num1] num4=num2[num1] for j in range(len(num4)): if ans[num4[j][0]]==10**18: ans[num4[j][0]]=num3+num4[j][1] queue.append(num4[j][0]) elif ans[num4[j][0]]>num3+num4[j][1]: ans[num4[j][0]]=num3+num4[j][1] queue.append(num4[j][0]) if cnt>=10**6: break ans2=0 for j in range(n): if ans[j]!=10**18: ans2+=ans[j] print(ans2)