Pagini recente » Cod sursa (job #1717542) | Cod sursa (job #3306662) | Cod sursa (job #3330687) | Cod sursa (job #1220400) | Cod sursa (job #3339524)
#include <fstream>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
int n, m, indeg[50005];
vector<int> adj[50005];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int x, y;
cin>>x>>y;
adj[x].push_back(y);
indeg[y]++;
}
queue<int> q;
vector<int> ans;
for(int i=1;i<=n;i++){
if(indeg[i]==0){
q.push(i);
}
}
while(!q.empty()){
int crt=q.front();
ans.push_back(crt);
q.pop();
for(auto it:adj[crt]){
indeg[it]--;
if(indeg[it]==0){
q.push(it);
}
}
}
for(auto it:ans){
cout<<it<<" ";
}
}