結果
問題 | No.30 たこやき工場 |
ユーザー |
![]() |
提出日時 | 2020-05-05 22:04:27 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 5,000 ms |
コード長 | 665 bytes |
コンパイル時間 | 1,833 ms |
コンパイル使用メモリ | 171,036 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-21 05:30:31 |
合計ジャッジ時間 | 2,681 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
#include <bits/stdc++.h> using namespace std; int N, M; vector<pair<int, int>> G[110]; int memo[110][110]; int seen[110]; void dfs(int idx) { if (seen[idx]) return; seen[idx] = 1; if (G[idx].size() == 0) { memo[idx][idx] = 1; return; } for (auto& p : G[idx]) { dfs(p.first); for (int i = 1; i < N; i++) { memo[idx][i] += p.second * memo[p.first][i]; } } } int main() { cin >> N >> M; while (M--) { int P, Q, R; cin >> P >> Q >> R; G[R].push_back({P, Q}); } dfs(N); for (int i = 1; i < N; i++) { cout << memo[N][i] << endl; } }