题目大意
给你一棵以1为根的树,求树的深度
思路
从根节点开始搜,搜索到最深的节点。
注意事项:因为是用vector
储存,所以会前后访问死循环,所以要判断是否与他的关系里有他的father
。
#include <iostream>
#include <vector>
using namespace std;
vector<int> N[10001];
int sum = -1;
bool istr[100001];
void Search(int rt, int f, int k) {
sum = max(sum, k);
for (int i = 0; i < N[rt].size(); i++) {
if (N[rt][i] != f)
Search(N[rt][i], rt, k + 1);
}
}
int main() {
int n, l, r;
cin >> n;
for (int i = 1; i < n; i++) {
cin >> l >> r;
N[l].push_back(r);
N[r].push_back(l);
}
Search(1, 1, 1);
cout << sum;
}