Pagini recente » Cod sursa (job #2502574) | Cod sursa (job #1243708) | Cod sursa (job #2054713) | Cod sursa (job #992261) | Cod sursa (job #2869189)
#include <bits/stdc++.h>
#define NMAX 50003
using namespace std;
int N, M;
vector<vector<int>> G;
vector<int> R;
vector<bool> seen;
void dfs(int node) {
seen[node] = true;
for(int neigh : G[node]) {
if(!seen[neigh])
dfs(neigh);
}
R.push_back(node);
}
int main()
{
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
scanf("%d %d", &N, &M);
G.resize(N + 2);
seen.resize(N + 2, false);
for(int i = 1; i <= M; i++) {
int x, y;
scanf("%d %d", &x, &y);
G[x].push_back(y);
}
for(int i = 1; i <= N; i++) {
if(!seen[i])
dfs(i);
}
reverse(R.begin(), R.end());
for(auto node : R)
printf("%d ", node);
return 0;
}