Untitled
unknown
plain_text
6 months ago
956 B
3
Indexable
signed main(){ fastio; int t=1; //cin >> t; while(t--){ int n,m; cin>>n>>m; vvi adj(n+1); vi indeg(n+1,0); for(int i=0;i<m;i++){ int u,v; cin>>u>>v; adj[u].pb(v); indeg[v]++; } queue<int> q; for(int i=1;i<=n;i++){ if(indeg[i] ==0){ q.push(i); } } vi topo; while(!q.empty()){ int u = q.front(); q.pop(); topo.pb(u); for(int v:adj[u]){ indeg[v]--; if(indeg[v] == 0){ q.push(v); } } } if(sz(topo)==n){ for(int v:topo){ cout << v << " "; } cout << endl; } else{ cout << -1 << endl; } } }
Editor is loading...
Leave a Comment