Pagini recente » Cod sursa (job #2633934) | Cod sursa (job #2679228) | Cod sursa (job #1543452) | Cod sursa (job #1606395) | Cod sursa (job #1846996)
#include <fstream>
#include <vector>
#define nmax 50001
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m;
int viz[nmax],timp[nmax],k;
vector<int>V[nmax];
void Citire()
{int i,x,y;
fin>>n>>m;
for(i=1;i<=m;i++)
{fin>>x>>y;
V[x].push_back(y);
}
}
void DFS(int x)
{int i;
vector <int>::iterator it;
viz[x]=1;
for(it=V[x].begin();it!=V[x].end();it++)
if(viz[*it]==0) DFS(*it);
timp[++k]=x;
}
int main()
{int i;
Citire();
for(i=1;i<=n;i++)
if(viz[i]==0) DFS(i);
for(i=n;i>=1;i--) fout<<timp[i]<<" ";
return 0;
}