思路为叶子的高度是父结点加一,记下最大的那个.
#include
int main () {
int a, b, n, m = 0;
int tree[1000] = {0}; /* 最大结点数+1 */
scanf("%d", n);
while (scanf("%d%d", a, b) > 0) {
tree[b] = tree[a] + 1;
if (m < tree[b]) m = tree[b];
}
printf("%d", m + 1);
return 0;
}
思路为叶子的高度是父结点加一,记下最大的那个.
#include
int main () {
int a, b, n, m = 0;
int tree[1000] = {0}; /* 最大结点数+1 */
scanf("%d", n);
while (scanf("%d%d", a, b) > 0) {
tree[b] = tree[a] + 1;
if (m < tree[b]) m = tree[b];
}
printf("%d", m + 1);
return 0;
}