Pagini recente » Cod sursa (job #1809170) | Cod sursa (job #1387991) | Cod sursa (job #2236388) | Cod sursa (job #1637730) | Cod sursa (job #430085)
Cod sursa(job #430085)
#include<stdio.h>
#define Nmax 100100
int N,M;
struct Nod{
int val;
Nod *next;} *l[Nmax];
int x,y,nr,v[Nmax],k;
char viz[Nmax];
void adauga(int a,int p)
{
Nod *q= new Nod;
q->val=p;
q->next=l[a];
l[a]=q;
}
void make_df(int s)
{
viz[s]=1;
Nod *q=l[s];
while(q!=NULL)
{
if(viz[q->val]==0)
{
viz[q->val]=10;
make_df(q->val);
}
q=q->next;
}
v[++k]=s;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&N,&M);
for(int i=1;i<=M;++i)
{
scanf("%d%d",&x,&y);
adauga(x,y);
adauga(y,x);
}
for(int i=1;i<=N;++i)
{
if(viz[i]==0)
{
make_df(i);
}
}
for(int i=k;i>=1;--i)
printf("%d ",v[i]);
}