Pagini recente » Cod sursa (job #644702) | Cod sursa (job #249501) | Cod sursa (job #847006) | Cod sursa (job #1551051) | Cod sursa (job #536906)
Cod sursa(job #536906)
#include <stdio.h>
#include <stdlib.h>
int n, m, ct1, viz[50005], cnt, a[50005];
typedef struct nod
{
int info;
nod *urm;
} *tnod;
tnod v[100005];
void push(tnod &dest, int val)
{
tnod p;
p = new nod;
p -> info = val;
p -> urm = dest;
dest = p;
}
void DFS(int nod)
{tnod p;
//printf("%d ",nod);
viz[nod] = 1;
for (p = v[nod]; p != NULL; p = p -> urm)
if (!viz[p -> info])
DFS(p -> info);
a[++ct1] = nod;
}
int main()
{int ct,i, x, y;;
tnod p;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d",&n,&m);
for (i = 1; i <= m; i++)
{
scanf("%d %d",&x,&y);
push(v[x], y);
push(v[y], x);
}
ct = 0;
for (i=1;i<=n;i++)
if (!viz[i])
{
ct++;
DFS(i);}
//printf("%d\n",ct1);
for (i = ct1; i >= 1; i--)
printf("%d ",a[i]);
return 0;
}