Pagini recente » Cod sursa (job #3199944) | Cod sursa (job #697509) | Cod sursa (job #2099319) | Cod sursa (job #3229567) | Cod sursa (job #2425538)
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 50010;
int N, M;
vector<int> V[MAXN];
bool vis[MAXN];
vector<int> rs;
void dfs(int node) {
vis[node] = true;
for (auto it: V[node])
if (!vis[it]) dfs(it);
rs.push_back(node);
}
int main() {
ifstream fin("sortaret.in");
ofstream cout("sortaret.out");
fin >> N >> M;
for (int from, to; M--; ) {
fin >> from >> to;
V[from].push_back(to);
//V[to].push_back(from);
}
for (int i = 1; i <= N;i++)
if ( !vis[i]) dfs(i);
reverse(rs.begin(), rs.end());
for (auto it: rs) cout << it << " ";
return 0;
}