无根树转换为有根树
记录一下代码,回头忘了可以再看
1 void dfs(int u, int fa) {
2 int d = G[u].size();
3 for(int i = 0; i < d; ++i) {
4 int v = G[u][i];
5 if(fa != v){ num[u].push_back(v);dfs(v, p[v] = u);}
6 }
7 }
8 for(int i = 1; i <= n-1; i++) {
9 int u, v;
10 cin >> u >> v;
11 G[u].push_back(v);
12 G[v].push_back(u);
13 }
14 int root=1;
15 p[root] = -1; //设定根节点的父亲节点为-1,代表根节点没有父亲节点。
16 dfs(root, -1);