void TopologicalSort(int n){ vector<int> answer; priority_queue<int,vector<int>,greater<int> > q; for(int i=1;i<=n;i++){ if(indegree[i]==0){ q.emplace(i); } } while(!q.empty()){ int u=q.top(); answer.emplace_back(u); q.pop(); for(int i=0;i<graph[u].size();i++){ int v=graph[u][i]; indegree[v]--; if(indegree[v]==0){ q.emplace(v); } } } for(int i=0;i<answer.size();i++){ cout<<answer[i]<<" "; } cout<<endl; return ; }
