Pagini recente » Cod sursa (job #2167339) | Cod sursa (job #2353588) | Cod sursa (job #701557) | Cod sursa (job #3166060) | Cod sursa (job #1842265)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in" );
ofstream fout("sortaret.out");
int n,m,x,y;
vector<int> A[50010];
int ordine[50010],viz[50010],nr;
void DFS(int x){
viz[x] = 1;
for(vector<int>::iterator it = A[x].begin(); it!=A[x].end(); it++ )
if ( !viz[*it] ) DFS(*it);
ordine[++nr] = x;
}
int main(){
fin >> n >> m;
for (int i=1; i<=m; i++){
fin >> x >> y;
A[x].push_back(y);
}
for (int i(1); i<=n; i++) if(!viz[i]) DFS(i);
for ( int i=n; i>=1; i-- ) fout<< ordine[i] << ' ';
return 0;
}