結果
| 問題 | 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')
            
            
            
        