无根树 转化为有根
vector[] 记录节点的子节点
int[] ->p p[i]=a 表示 i的父节点为a
#include <iostream>
#include <vector>
using namespace std;
int p[100],n;
vector<int> v[100];
void readtree()
{
int a1,a2;
cin>>n;
for(int i=0;i<n;++i)
{
cin>>a1>>a2;
v[a1].push_back(a2);
v[a2].push_back(a1);
}
}
void bfs(int son,int fa)
{
for(int i=0;i<v[son].size();++i)
{
if(v[son][i]!=fa)
bfs(v[son][i],p[v[son][i]]=son);
}
}
int main()
{
readtree();
p[1]=-1;
bfs(1,-1);
for(int i=0;i<=n;++i)
cout<<p[i]<<" ";
return 0;
}