#include<fstream.h>
fstream f("graf.in", ios::in);
fstream g("graf.out",ios::out);
int a[100][100],n,m,p[100],x[100],lmax,smax[100];
void citire()
{ int x,y,i;
f>>n>>m;
for(i=1;i<=m;i++)
{ f>>x>>y;
a[x][y]=1;
a[y][x]=1;
}
}
void bf(int k)
{ int s,d,i;
x[1]=k;
p[k]=1;
s=1; d=1;
while(s<=d)
{ for(i=1;i<=n;i++)
if(a[x[s]][i]==1 && !p[i]) {d++;
x[d]=i;
p[i]=1;
}
s++;
}
if(d>lmax) { lmax=d;
for(i=1;i<=lmax;i++)
smax[i]=x[i];
}
}
void main()
{ citire();
for(int i=1;i<=n;i++)
if(!p[i]) bf(i);
for(i=1;i<=lmax;i++)
g<<smax[i]<<" ";
}
|