#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
int arr[1010];
int vis[1010];
int n;
vector<int> v[1010];
void dfs(int node,int s,int fa)
{
if(s==n)
{
return;
}
for(int i=0;i<v[node].size();i++)
{
int son=v[node][i];
if(son==fa) continue;
arr[son]=node;
dfs(son,s+1,node);
}
}
int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
int a,b;
memset(vis,0,sizeof(vis));
for(int i=0;i<n-1;i++)
{
scanf("%d%d",&a,&b);
v[a].push_back(b);
v[b].push_back(a);
}
arr[k]=0;
dfs(k,1,1);
for(int i=1;i<=n;i++)
printf("%d ",arr[i]);
cout<<endl;
}
}
hiho1542无根数变有根树水题
最新推荐文章于 2018-08-06 01:02:07 发布