Pagini recente » Cod sursa (job #2971720) | Cod sursa (job #3164658) | Cod sursa (job #3250692) | Cod sursa (job #369770) | Cod sursa (job #3284707)
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int n, m, grd[50001];
vector<int> g[50001];
queue<int> q;
void topsort(){
while (!q.empty()){
int i=q.front();
q.pop();
cout<<i<<" ";
for (auto it:g[i]){
--grd[it];
if (0==grd[it]){
q.push(it);
}
}
}
}
int main(){
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
cin>>n>>m;
for (int i=0; i<m; ++i){
int x, y;
cin>>x>>y;
++grd[y];
g[x].push_back(y);
}
for (int i=1; i<=n; ++i){
if (!grd[i]){
q.push(i);
}
}
topsort();
return 0;
}