結果
| 問題 |
No.30 たこやき工場
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-03-02 15:13:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 67 ms / 5,000 ms |
| コード長 | 717 bytes |
| コンパイル時間 | 318 ms |
| コンパイル使用メモリ | 82,336 KB |
| 実行使用メモリ | 72,328 KB |
| 最終ジャッジ日時 | 2024-07-16 08:08:47 |
| 合計ジャッジ時間 | 1,976 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
N = int(input())
M = int(input())
G = [[] for _ in range(N+1)]
rG = [[] for _ in range(N+1)]
Gnum = [0] * (N + 1)
for _ in range(M):
p,q,r = map(int,input().split())
G[p].append(r)
rG[r].append((p,q))
Gnum[r] += 1
top = []
gaibu = set()
from collections import deque
q = deque()
for i in range(1,N+1):
if Gnum[i] == 0:
q.append(i)
gaibu.add(i)
while q:
now = q.popleft()
top.append(now)
for v in G[now]:
Gnum[v] -= 1
if Gnum[v] == 0:
q.append(v)
dp = [0] * (N+1)
dp[N] = 1
for now in reversed(top):
for v,c in rG[now]:
dp[v] += dp[now] * c
for i in range(1,N):
if i in gaibu:
print(dp[i])
else:
print(0)