rt,求 u 到 v 长度改怎么打啊,感觉自己写的有大问题,给点思路或代码呗。
void len(int now, int h) {
if (now == 1) {
flag = 1;
}
int sizes = so[now].size();
if (now == y || (sizes == 0 && flag == 1)) {
return;
}
l = max(l, h);
if (flag == 0 || now == 1) {
len(fa[now], h + 2);
} else {
for (int i = 0; i < sizes; i++) {
len(so[now][i], h + 1);
}
}
}