Pagini recente » Cod sursa (job #2092400) | Cod sursa (job #2071908) | Cod sursa (job #1192923) | Cod sursa (job #2315179) | Cod sursa (job #1945888)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int> v[50010];
queue<int> coada, ans;
int n, m, x, y, grad[50010];
int main()
{
fin >> n >> m;
for(int i = 1; i <= m; i++){
fin >> x >> y;
v[x].push_back(y);
grad[y]++;
}
for(int i = 1; i <= n; ++i)
if(grad[i] == 0)
coada.push(i);
while(!coada.empty()){
int now = coada.front();
coada.pop();
for(auto& it : v[now]){
if(--grad[it] == 0)
coada.push(it);
}
ans.push(now);
}
while(!ans.empty()){
fout << ans.front() << ' ';
ans.pop();
}
return 0;
}
/*
vector< set<int> > v;
set<int> aux;
for(int i = 1; i <= n; ++i)
v.push_back(aux);
for(int i = 1; i <= m; ++i){
fin >> x >> y;
v[x].insert(y);
}
*/