結果
問題 | No.1364 [Renaming] Road to Cherry from Zelkova |
ユーザー |
|
提出日時 | 2021-01-22 22:15:34 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 875 bytes |
コンパイル時間 | 374 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 120,508 KB |
最終ジャッジ日時 | 2024-12-28 01:48:04 |
合計ジャッジ時間 | 13,271 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 WA * 2 |
ソースコード
from collections import deque import sys input = sys.stdin.readline N,M = map(int,input().split()) edge = [[] for i in range(N+1)] deg = [0 for i in range(N+1)] for i in range(M): u,v,l,a = map(int,input().split()) edge[u].append((v,l,a)) deg[v] += 1 res = [] deq = deque([v for v in range(N+1) if deg[v]==0]) while deq: v = deq.popleft() res.append(v) for nv,l,a in edge[v]: deg[nv] -= 1 if not deg[nv]: deq.append(nv) if 0 not in res or N not in res: exit(print("INF")) dp = [0 for i in range(N+1)] dp[N] = 0 way = [0 for i in range(N+1)] way[N] = 1 mod = 10**9+7 for v in res[::-1]: if v==N: continue for nv,l,a in edge[v]: if way[nv]: dp[v] += dp[nv] * a + l * a * way[nv] dp[v] %= mod way[v] += way[nv] * a way[v] %= mod print(dp[0])