Pagini recente » Cod sursa (job #236693) | Cod sursa (job #85391) | Cod sursa (job #607886) | Cod sursa (job #2636298) | Cod sursa (job #1156118)
#include <fstream>
#include <vector>
#include <list>
#include <algorithm>
#define NMax 50002
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
std::vector<int> G[NMax];
std::list<int> Parc;
int n,m,i,x,y,viz[NMax],nr;
void DFS(int x0)
{
viz[x0] = 1;
for(int j=0;j<G[x0].size();++j)
{
if(!viz[G[x0][j]])
{
DFS(G[x0][j]);
}
}
Parc.push_front(x0);
}
int main()
{
fin>>n>>m;
for(i=1;i<=m;++i)
{
fin>>x>>y;
G[x].push_back(y);
}
for(int i=1;i<=n;++i)
{
if(!viz[i])DFS(i);
}
std::list<int>::iterator cresc;
for(cresc=Parc.begin();cresc!=Parc.end();++cresc)
{
fout<<*cresc<<" ";
}
return 0;
}