Pagini recente » Cod sursa (job #709895) | Cod sursa (job #2828319) | Cod sursa (job #552136) | Cod sursa (job #3150568) | Cod sursa (job #3283205)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
vector <int> gr[100005];
vector <int> rgr[100005];
vector <int> q;
vector <int> v;
int f[100005];
int main()
{
int n,m;
fin >> n >> m;
for (int i=1;i<=m;++i){
int x,y;
fin >> x >> y;
f[y]++;
gr[x].push_back(y);
rgr[y].push_back(x);
}
for (int i=1;i<=n;++i){
if (f[i]==0){
q.push_back(i);
}
}
while (q.size()>0){
int node = q.back();
v.push_back(node);
q.pop_back();
for (auto x:gr[node]){
f[x]--;
if (f[x]==0){
q.push_back(x);
}
}
}
for (auto x:v) fout << x << ' ';
return 0;
}