Pagini recente » Cod sursa (job #2541954) | Cod sursa (job #2607708) | Cod sursa (job #2839661) | Cod sursa (job #3239182) | Cod sursa (job #2536804)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
vector <int> v[50005];
int n, m, ii, jj;
int grad[5005], a[50005], sol[50005];
void dfs(int nod){
a[nod]=1;
for(int i=0; i<v[nod].size(); i++)
if(a[ v[nod][i] ] == 0)
dfs(v[nod][i]);
sol[++sol[0]]=nod;
}
int main (){
fin>>n>>m;
for(int i=1; i<=m; i++){
fin>>ii>>jj;
v[ii].push_back(jj);
grad[jj]++;
}
for(int i=1; i<=n; i++)
if(grad[i] == 0)
dfs(i);
for(int i=sol[0]; i>=1; i--) fout<<sol[i]<<" ";
return 0;
}