Pagini recente » Cod sursa (job #2635117) | Cod sursa (job #934486) | Cod sursa (job #2737724) | Cod sursa (job #2652776) | Cod sursa (job #2512950)
#include <cstdio>
#include <vector>
using namespace std;
int N, M;
vector<vector<int> > G;
vector<bool> used;
void DFS(int k)
{
used[k] = true;
for (auto it : G[k]) {
if (!used[it]) {
DFS(it);
}
}
printf("%d ", k);
}
int main()
{
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
scanf("%d%d", &N, &M);
G.resize(N + 1);
used.resize(N + 1);
for (int i = 1; i <= M; ++i) {
int a,b;
scanf("%d%d", &a, &b);
G[b].emplace_back(a);
}
for (int i = 1; i <= N; ++i) {
if (!used[i]) {
DFS(i);
}
}
return 0;
}