結果
問題 | No.1364 [Renaming] Road to Cherry from Zelkova |
ユーザー | ophhdn |
提出日時 | 2021-08-08 12:32:57 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,926 bytes |
コンパイル時間 | 272 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 133,504 KB |
最終ジャッジ日時 | 2024-09-19 08:08:39 |
合計ジャッジ時間 | 16,340 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 108 ms
80,384 KB |
testcase_01 | AC | 102 ms
80,256 KB |
testcase_02 | AC | 102 ms
80,256 KB |
testcase_03 | AC | 103 ms
80,384 KB |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | AC | 100 ms
80,640 KB |
testcase_07 | WA | - |
testcase_08 | AC | 142 ms
84,480 KB |
testcase_09 | WA | - |
testcase_10 | WA | - |
testcase_11 | AC | 142 ms
83,840 KB |
testcase_12 | WA | - |
testcase_13 | WA | - |
testcase_14 | WA | - |
testcase_15 | WA | - |
testcase_16 | WA | - |
testcase_17 | AC | 246 ms
108,288 KB |
testcase_18 | WA | - |
testcase_19 | WA | - |
testcase_20 | WA | - |
testcase_21 | WA | - |
testcase_22 | WA | - |
testcase_23 | AC | 228 ms
95,232 KB |
testcase_24 | AC | 221 ms
89,216 KB |
testcase_25 | AC | 328 ms
99,840 KB |
testcase_26 | AC | 334 ms
108,288 KB |
testcase_27 | AC | 276 ms
100,864 KB |
testcase_28 | AC | 225 ms
94,976 KB |
testcase_29 | AC | 278 ms
101,120 KB |
testcase_30 | AC | 219 ms
94,592 KB |
testcase_31 | AC | 214 ms
95,232 KB |
testcase_32 | AC | 239 ms
96,768 KB |
testcase_33 | AC | 335 ms
104,576 KB |
testcase_34 | AC | 366 ms
106,368 KB |
testcase_35 | WA | - |
testcase_36 | WA | - |
testcase_37 | AC | 236 ms
99,584 KB |
testcase_38 | WA | - |
testcase_39 | WA | - |
testcase_40 | WA | - |
testcase_41 | WA | - |
testcase_42 | WA | - |
testcase_43 | AC | 227 ms
115,584 KB |
testcase_44 | AC | 269 ms
119,680 KB |
testcase_45 | AC | 226 ms
97,920 KB |
testcase_46 | WA | - |
testcase_47 | AC | 101 ms
80,384 KB |
ソースコード
from collections import defaultdict, deque, Counter from heapq import heappush, heappop, heapify import math import bisect import random from itertools import permutations, accumulate, combinations, product import sys import string from bisect import bisect_left, bisect_right from math import factorial, ceil, floor from operator import mul from functools import reduce import pprint sys.setrecursionlimit(10 ** 9) INF = 10 ** 20 def LI(): return list(map(int, sys.stdin.readline().split())) def I(): return int(sys.stdin.readline()) def LS(): return sys.stdin.buffer.readline().rstrip().decode('utf-8').split() def S(): return sys.stdin.buffer.readline().rstrip().decode('utf-8') def IR(n): return [I() for i in range(n)] def LIR(n): return [LI() for i in range(n)] def SR(n): return [S() for i in range(n)] def LSR(n): return [LS() for i in range(n)] def SRL(n): return [list(S()) for i in range(n)] def MSRL(n): return [[int(j) for j in list(S())] for i in range(n)] mod = 10**9+7 n,m=LI() G=[[]for _ in range(n+1)] for _ in range(m): u,v,l,a=LI() G[u]+=[(v,l,a)] def topological_sort(G): n = len(G) in_degree = [0] * n for u in range(n): for v,_,_ in G[u]: in_degree[v] += 1 topological_order = [] que = deque() for i in range(n): if in_degree[i] == 0: que += [i] while que: u = que.pop() topological_order += [u] for v,_,_ in G[u]: in_degree[v] -= 1 if in_degree[v] == 0: que += [v] return topological_order q=deque([0]) D=[0]*(n+1) D2=[0]*(n+1) D2[0]=1 D[0]=0 order=topological_sort(G) s=set() for ui in order: s.add(ui) for vi,li,ai in G[ui]: if vi in s: print("INF") exit() D[vi]+=(D[ui]+D2[ui]*li)*ai%mod D2[vi]+=D2[ui]*ai D2[vi]%=mod if not D2[n]: print("INF") exit() print(D[n])