Submission #27451237
Source Code Expand
Copy
#ベルマンフォード負経路検出版#参考(二つの内容を合わせた)#https://qiita.com/kazukazukazukazu/items/e5db00a3aefb1f5ed72f#https://sepat.hatenablog.com/entry/2019/08/15/223212inf = float('inf')class BellmanFord():def __init__(self, N):self.N = Nself.edges = []def add(self, u, v, d, directed=False):"""u = from, v = to, d = costdirected = Trueのとき、有向グラフである。"""if directed is False:self.edges.append([u, v, d])self.edges.append([v, u, d])else:self.edges.append([u, v, d])
#ベルマンフォード負経路検出版 #参考(二つの内容を合わせた) #https://qiita.com/kazukazukazukazu/items/e5db00a3aefb1f5ed72f #https://sepat.hatenablog.com/entry/2019/08/15/223212 inf = float('inf') class BellmanFord(): def __init__(self, N): self.N = N self.edges = [] def add(self, u, v, d, directed=False): """ u = from, v = to, d = cost directed = Trueのとき、有向グラフである。 """ if directed is False: self.edges.append([u, v, d]) self.edges.append([v, u, d]) else: self.edges.append([u, v, d]) def BellmanFord_search(self, start): """ :param s: 始点 :return: d[i] 始点sから各点iまでの最短経路 """ # infならたどり着けず # -infなら"通りたいパスに"負の閉路が存在する D = [inf for i in range(self.N)] D[start] = 0 for i in range(self.N*2): for u,v,d in self.edges: if D[v] > D[u] + d: D[v] = D[u] + d #2巡目負経路が存在する場合の動き if i>=self.N: D[v]=-inf return D N,M = map(int, input().split()) ABC = [list(map(int, input().split())) for _ in range(M)] graph = BellmanFord(N) for a,b,c in ABC: graph.add(a-1,b-1,-c,True) d = graph.BellmanFord_search(0) if d[N-1]==-inf: print('inf') else: print(-d[N-1])
Submission Info
Submission Time | |
---|---|
Task | D - Score Attack |
User | H20 |
Language | PyPy3 (7.3.0) |
Score | 400 |
Code Size | 1581 Byte |
Status | AC |
Exec Time | 194 ms |
Memory | 75156 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_2.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 194 ms | 61496 KB |
sample_02.txt | AC | 52 ms | 61508 KB |
sample_03.txt | AC | 51 ms | 61528 KB |
subtask_1_1.txt | AC | 78 ms | 73148 KB |
subtask_1_10.txt | AC | 60 ms | 65792 KB |
subtask_1_11.txt | AC | 85 ms | 73760 KB |
subtask_1_12.txt | AC | 137 ms | 75100 KB |
subtask_1_13.txt | AC | 60 ms | 70088 KB |
subtask_1_14.txt | AC | 128 ms | 74348 KB |
subtask_1_15.txt | AC | 183 ms | 75156 KB |
subtask_1_16.txt | AC | 50 ms | 61924 KB |
subtask_1_17.txt | AC | 60 ms | 66424 KB |
subtask_1_18.txt | AC | 116 ms | 75048 KB |
subtask_1_19.txt | AC | 125 ms | 74760 KB |
subtask_1_2.txt | AC | 103 ms | 73932 KB |
subtask_1_20.txt | AC | 64 ms | 73088 KB |
subtask_1_21.txt | AC | 95 ms | 73704 KB |
subtask_1_22.txt | AC | 187 ms | 75088 KB |
subtask_1_23.txt | AC | 53 ms | 61940 KB |
subtask_1_24.txt | AC | 122 ms | 74896 KB |
subtask_1_25.txt | AC | 96 ms | 74232 KB |
subtask_1_26.txt | AC | 131 ms | 74520 KB |
subtask_1_27.txt | AC | 140 ms | 74504 KB |
subtask_1_3.txt | AC | 87 ms | 73856 KB |
subtask_1_4.txt | AC | 106 ms | 73860 KB |
subtask_1_5.txt | AC | 92 ms | 73544 KB |
subtask_1_6.txt | AC | 126 ms | 74168 KB |
subtask_1_7.txt | AC | 96 ms | 74288 KB |
subtask_1_8.txt | AC | 103 ms | 73940 KB |
subtask_1_9.txt | AC | 49 ms | 61944 KB |