#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int a[100][100],p[100];
int d[100],n;
void dfs(int x){
int i,j,k;
p[x]=1;
printf("%d ",x);
for(i=1;i<=n;i++)
if(a[x][i] && !p[i])
dfs(i);
}
int main(){
int i,j,k,k1,m;
int x,y,e;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++){
scanf("%d%d",&x,&y);
a[x][y]=1;
a[y][x]=1;
}
dfs(1);
puts("");
int f=0,l=1;
memset(p,0,sizeof(p));
d[1]=1;p[1]=1;
while(f<l){
f++;
k=d[f];
printf("%d ",k);
for(i=1;i<=n;i++)
if(a[k][i] && !p[i]){
d[++l]=i;
p[i]=1;
}
}
puts("");
system("pause");
return 0;
}
图的深搜与广搜
最新推荐文章于 2024-06-15 15:20:41 发布