Pagini recente » Cod sursa (job #2896713) | Cod sursa (job #141323) | Cod sursa (job #1480986) | Cod sursa (job #1537616) | Cod sursa (job #1954105)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
const int NMAX = 50005;
int N, M;
bool viz[NMAX];
vector <int> v[NMAX];
vector <int> rez;
void dfs(int node){
viz[node] = 1;
for(auto x: v[node])
if(!viz[x])
dfs(x);
rez.push_back(node);
}
int main(){
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
scanf("%d%d", &N, &M);
for(int i = 1; i <= M; i++){
int x, y;
scanf("%d%d", &x, &y);
v[x].push_back(y);
}
for(int i = 1; i <= N; i++)
if(!viz[i])
dfs(i);
for(int i = N - 1; i >= 0; i--)
printf(i > 0 ? "%d " : "%d\n", rez[i]);
}