結果
問題 | No.30 たこやき工場 |
ユーザー |
|
提出日時 | 2019-10-25 20:27:06 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 37 ms / 5,000 ms |
コード長 | 557 bytes |
コンパイル時間 | 94 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-12-21 05:28:58 |
合計ジャッジ時間 | 1,378 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
N = int(input()) M = int(input()) isLeaf = [True] * N ans = [-1] * N ans[N - 1] = 1 child = [[] for _ in range(N)] for _ in range(M): pr, cnt, ch = map(int, input().split()) pr -= 1 ch -= 1 child[pr].append((ch, cnt)) isLeaf[ch] = False def search(now): if ans[now] != -1: return ans[now] ret = 0 for ch, cnt in child[now]: ret += search(ch) * cnt ans[now] = ret return ret for i in range(N): search(i) ans = [a if isLeaf[i] else 0 for i, a in enumerate(ans[:N - 1])] print(*ans, sep='\n')