Pagini recente » Cod sursa (job #229680) | Cod sursa (job #2455747) | Cod sursa (job #530842) | Cod sursa (job #2483028) | Cod sursa (job #1685954)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int vis[50005], ordine[50005];
vector<int> A[50005];
int nr=0, n, m;
void DFS(int x){
vis[x]=1;
for(int i=0; i<A[x].size(); i++)
if (!vis[A[x][i]]) DFS(A[x][i]);
ordine[++nr]=x;
}
int main()
{
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
fin>>n>>m;
int a,b;
for(int i=0; i<n; i++)
vis[i]=0;
for(int i=0; i<m; i++){
fin>>a>>b;
A[a].push_back(b);
}
for(int i=1; i<=n; i++)
if(vis[i]!=1) DFS(i);
for(int i=n; i>=1; i--)
fout<<ordine[i]<<" ";
return 0;
}