Pagini recente » Rating Bernard Pirlea (Bernard) | Rating Velicu Alexandru Stefan (Alex74) | Cod sursa (job #772624) | Cod sursa (job #1016906) | Cod sursa (job #2443664)
#include <bits/stdc++.h>
using namespace std;
#define cin fin
#define cout fout
int n, m;
int parents[50020];
vector<int> a[50020];
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int main() {
int t1, t2;
cin >> n >> m;
for (int i = 0; i < m; i++) {
cin >> t1 >> t2;
a[t1].push_back(t2);
parents[t2]++;
}
queue<int> l, s;
for (int i = 1; i <= n; i++) {
if (!parents[i]) {
s.push(i);
}
}
while (!s.empty()) {
int k = s.front();
s.pop();
for (auto &it: a[k]) {
parents[it]--;
if (!parents[it]) s.push(it);
}
l.push(k);
}
for (int i = 0; i < n; i++) {
cout << l.front() << " ";
l.pop();
}
return 0;
}