Pagini recente » Cod sursa (job #603095) | Cod sursa (job #3189687) | Borderou de evaluare (job #893670) | Cod sursa (job #660021) | Cod sursa (job #2937373)
#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
ifstream fin("input.txt");
#define fout cout
#else
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
#endif
const int NMAX = 5e4;
int n, m;
vector<int> e[NMAX];
vector<int> ans;
int ic[NMAX];
int x, y;
void solve() {
}
int main() {
fin >> n >> m;
while (m--) {
fin >> x >> y;
e[x].push_back(y);
ic[y]++;
}
for (int i = 1; i <= n; i++)
if (ic[i] == 0)
dq.push_back(i);
while (!dq.empty()) {
int u = dq.front();
dq.pop_front();
ans.push_back(u);
for (auto v : e[u]) {
ic[v]--;
if (ic[v] == 0)
dq.push_back(ic[v]);
}
}
for (auto a : ans) {
fout << a << ' ';
}
return 0;
}