Pagini recente » Cod sursa (job #2549755) | Cod sursa (job #2627635) | Cod sursa (job #800682) | Cod sursa (job #1236344) | Cod sursa (job #2528132)
#include <iostream>
#include <fstream>
#define GRI 1
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
typedef struct nod {
int vf;
nod * next;
} *PNOD, NOD;
PNOD L[50005];//Listele de vecini pentru fiecare nod
PNOD adresa; // lista simplu inlantuita
int viz[50005];
int n,m,x,y;
void Add( int i, int j)
{
PNOD p = new NOD;
p->vf = j;
p->next = L[i];
L[i] = p;
}
void Push( int nod )
{
PNOD p = new NOD;
p->vf = nod;
p->next = adresa;
adresa = p;
}
void DF( int nod )
{
viz[nod] = GRI;
viz[nid]=1;
for ( PNOD p = L[nod]; p; p = p->next )
if (viz[p->vf]==0)
DF(p->vf);
viz[nod]=1;
Push(nod);
}
int main()
{
fin>>n>>m;
for ( ; m > 0; m-- )
{
fin>>x>>y;
Add(x,y);
}
for (int i = 1; i <= n; ++i )
if (viz[i]==0)
DF(i);
for ( PNOD p = adresa; p; p = p->next )
fout<<p->vf<<" ";
return 0;
}