結果
| 問題 | No.30 たこやき工場 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2023-06-08 21:30:02 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 66 ms / 5,000 ms | 
| コード長 | 739 bytes | 
| コンパイル時間 | 279 ms | 
| コンパイル使用メモリ | 82,372 KB | 
| 実行使用メモリ | 69,088 KB | 
| 最終ジャッジ日時 | 2024-12-31 05:50:13 | 
| 合計ジャッジ時間 | 1,916 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 17 | 
ソースコード
from collections import *
from itertools import *
from functools import *
from heapq import *
import sys,math
input = sys.stdin.readline
N = int(input())
M = int(input())
e = [[] for _ in range(N)]
for _ in range(M):
    p,q,r = map(int,input().split())
    p -= 1
    r -= 1
    e[r].append((p,q))
mem = defaultdict(lambda:INF)
X = []
for i in range(N):
    if len(e[i])==0:
        X.append(i)
X = set(X)
mem = defaultdict(lambda:-1)
for x in X:
    I = [0]*N
    I[x]=1
    mem[x] = tuple(I)
def f(x):
    if mem[x]!=-1:
        return mem[x]
    
    I = [0]*N
    for q,r in e[x]:
        y = f(q)
        for j in range(N):
            I[j] += r*y[j]
    mem[x] = tuple(I)
    return mem[x]
ans = f(N-1)
print(*ans[:-1],sep='\n')
            
            
            
        