提出 #27451237


ソースコード 拡げる

#ベルマンフォード負経路検出版
#参考(二つの内容を合わせた)
#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])

提出情報

提出日時
問題 D - Score Attack
ユーザ H20
言語 PyPy3 (7.3.0)
得点 400
コード長 1581 Byte
結果 AC
実行時間 194 ms
メモリ 75156 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 30
セット名 テストケース
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
ケース名 結果 実行時間 メモリ
sample_01.txt AC 194 ms 61496 KiB
sample_02.txt AC 52 ms 61508 KiB
sample_03.txt AC 51 ms 61528 KiB
subtask_1_1.txt AC 78 ms 73148 KiB
subtask_1_10.txt AC 60 ms 65792 KiB
subtask_1_11.txt AC 85 ms 73760 KiB
subtask_1_12.txt AC 137 ms 75100 KiB
subtask_1_13.txt AC 60 ms 70088 KiB
subtask_1_14.txt AC 128 ms 74348 KiB
subtask_1_15.txt AC 183 ms 75156 KiB
subtask_1_16.txt AC 50 ms 61924 KiB
subtask_1_17.txt AC 60 ms 66424 KiB
subtask_1_18.txt AC 116 ms 75048 KiB
subtask_1_19.txt AC 125 ms 74760 KiB
subtask_1_2.txt AC 103 ms 73932 KiB
subtask_1_20.txt AC 64 ms 73088 KiB
subtask_1_21.txt AC 95 ms 73704 KiB
subtask_1_22.txt AC 187 ms 75088 KiB
subtask_1_23.txt AC 53 ms 61940 KiB
subtask_1_24.txt AC 122 ms 74896 KiB
subtask_1_25.txt AC 96 ms 74232 KiB
subtask_1_26.txt AC 131 ms 74520 KiB
subtask_1_27.txt AC 140 ms 74504 KiB
subtask_1_3.txt AC 87 ms 73856 KiB
subtask_1_4.txt AC 106 ms 73860 KiB
subtask_1_5.txt AC 92 ms 73544 KiB
subtask_1_6.txt AC 126 ms 74168 KiB
subtask_1_7.txt AC 96 ms 74288 KiB
subtask_1_8.txt AC 103 ms 73940 KiB
subtask_1_9.txt AC 49 ms 61944 KiB