无根树转有根树
题目大意:
无根树转有根树
基本思路:
1.输入一个n个节点的无根树;
2.通过dfs将无根树转为有根树
代码如下:
int n;
int p[maxn];
vector<int>gra[maxn];
void read_tree(){
scanf("%d",&n);
int u,v;
for(int i=0;i<n-1;i++){
scanf("%d%d",&u,&v);
gra[u].push_back(v);
gra[v].push_back(u);
}
return;
}
void dfs(int u,int fa){
int sz=gra[u].size();
for(int i=0;i<sz;i++){
int v=gra[u][i];
if(v!=fa){
p[v]=u;
dfs(v,u);
}
}
return;
}