Pagini recente » Cod sursa (job #2513144) | Cod sursa (job #1195461) | Cod sursa (job #865082) | Cod sursa (job #1634713) | Cod sursa (job #2466802)
#include <bits/stdc++.h>
#define MaxN 50000
using namespace std;
vector<int> L[MaxN + 1];
int sortop[MaxN + 1];
int viz[MaxN + 1];
int N, M, K;
void DFS(int node)
{
viz[node] = 1;
for(auto neighbour : L[node])
if(!viz[neighbour]) DFS(neighbour);
sortop[++K] = node;
}
int main(){
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int i, x, y;
cin >> N >> M;
for(i = 1; i <= M; i++)
{
cin >> x >> y;
L[x].push_back(y);
}
for(i = 1; i <= N; i++)
if(!viz[i]) DFS(i);
for(i = N; i >= 1; i--) cout << sortop[i] << ' ';
return 0;
}