結果
| 問題 | No.30 たこやき工場 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-08-27 15:02:46 |
| 言語 | Python3 (3.14.3 + numpy 2.4.4 + scipy 1.17.1) |
| 結果 |
AC
|
| 実行時間 | 101 ms / 5,000 ms |
| コード長 | 732 bytes |
| 記録 | |
| コンパイル時間 | 415 ms |
| コンパイル使用メモリ | 20,700 KB |
| 実行使用メモリ | 15,360 KB |
| 最終ジャッジ日時 | 2026-06-02 03:31:36 |
| 合計ジャッジ時間 | 3,326 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
from collections import defaultdict, deque
n = int(input())
m = int(input())
G = defaultdict(list)
INcnt = [0 for _ in range(n)]
OUTs = defaultdict(list)
for _ in range(m):
p, q, r = map(int, input().split())
G[r - 1].append((p - 1, q))
OUTs[p - 1].append(r - 1)
INcnt[r - 1] += 1
Topo = []
Que = deque([i for i in range(n) if INcnt[i] == 0])
while Que:
u = Que.popleft()
Topo.append(u)
for v in OUTs[u]:
INcnt[v] -= 1
if INcnt[v] == 0:
Que.append(v)
Topo.reverse()
ANS = [0 for _ in range(n)]
ANS[n - 1] = 1
for cp in Topo:
for np, q in G[cp]:
ANS[np] += q * ANS[cp]
if G[cp]:
ANS[cp] = 0
print(*ANS[:-1], sep='\n')