結果
問題 | No.30 たこやき工場 |
ユーザー |
|
提出日時 | 2022-03-21 19:41:42 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 1,044 bytes |
コンパイル時間 | 5,031 ms |
コンパイル使用メモリ | 258,884 KB |
最終ジャッジ日時 | 2025-01-28 10:56:02 |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
#include<bits/stdc++.h>using namespace std;#include<atcoder/all>using namespace atcoder;using ll = long long;int n;int q;using P = pair<int,int>;vector<vector<P>> G;void solve(){vector<int> tropical;{vector<int> jisu(n);for(int i = 0;i<n;i++){for(auto &[to,cost]:G[i]){jisu[to]++;}}queue<int> Q;for(int i = 0;i<n;i++){if(jisu[i]==0){Q.push(i);}}while(Q.size()){int idx = Q.front();tropical.push_back(idx);Q.pop();for(auto &[to,cost]:G[idx]){jisu[to]--;if(jisu[to]==0){Q.push(to);}}}}vector<unsigned long long> ans(n);ans[n-1] = 1;for(auto &i:tropical){for(auto &[to,cost]:G[i]){ans[to] += ans[i]*cost;}if(G[i].size()){ans[i] = 0;}}for(int i = 0;i<n-1;i++){cout<<ans[i]<<endl;}}signed main(){cin.tie(nullptr);ios::sync_with_stdio(false);cin >> n >> q;G = vector<vector<P>>(n);for(int i = 0;i<q;i++){int a,b,c;cin >> a >> b >> c;a--;c--;G[c].push_back(P(a,b));}solve();}