Pagini recente » Cod sursa (job #1397435) | Cod sursa (job #2646456)
#include <bits/stdc++.h>
using namespace std;
const int DIM = 50000 + 5;
vector < int > a[DIM], sol;
vector < bool > f(DIM);
void dfs(int k)
{
f[k] = true;
for(auto v : a[k]) {
if(f[v] == false) dfs(v);
}
sol.push_back(k);
}
int main()
{
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int n, m;
scanf("%d%d", &n, &m);
for(int i = 1; i <= m; ++i) {
int x, y;
scanf("%d%d", &x, &y);
a[x].push_back(y);
}
dfs(1);
reverse(sol.begin(), sol.end());
for(int i = 1; i <= n; ++i) if(f[i] == false) sol.push_back(i);
for(auto v : sol) {
printf("%d ", v);
}
return 0;
}