问题 B: 树的高度
时间限制: 1 Sec 内存限制: 128 MB
提交: 187 解决: 109
[提交][状态][讨论版][命题人:外部导入]
题目描述
一棵树有n个节点,其中1号节点为根节点。
输入
第一行是整数n,表示节点数
后面若干行,每行两个整数a b,表示b是a的子节点。
输出
求这棵树的高度(根节点为第1层)
样例输入
5 1 2 1 3 3 4 3 5
样例输出
3
#include<iostream>
#include<vector>
using namespace std;
int n, a, b, m = 0;
vector<int> v[1000];
void DFS(int now, int h) {
if (h > m) m = h;
for (int i = 0; i < v[now].size(); i++) {
DFS(v[now][i], h + 1);
}
}
int main() {
cin >> n;
while (cin >> a >> b) {
v[a].push_back(b);
}
DFS(1, 1);
cout << m << endl;
return 0;
}