Family Relationships (APCS 2016-03 Expert)
2.0s 256MA family has \(n\) members numbered \(0\) through \(n-1\). Parent-child relations form a tree: every member except one common ancestor has exactly one parent. The distance between two members is the number of parent-child edges on their path, traversable in either direction. Find the maximum distance between any two members.
Input Format
The first line contains \(n\). Each of the next \(n-1\) lines contains \(a,b\), meaning that \(a\) is the parent of \(b\). Relations may appear in any order, and the ancestor need not be vertex \(0\).
Output Format
Print the maximum distance, counted in edges.
Constraints
\(2\le n\le100000\). The relations form a valid rooted tree.
Scoring
- 10 points: \(n\le100\); the ancestor has at most two children and every other member at most one.
- 30 points: \(n\le100\).
- 30 points: \(n\le2000\).
- 30 points: No additional restrictions.
Each scored test is worth 5 points.
Sample Input 1
8
0 1
0 2
0 3
7 0
1 4
1 5
3 6
Sample Output 1
4
Sample Input 2
4
0 1
0 2
2 3
Sample Output 2
3
Source
APCS 2016-03 public archive version: b967。
Log in to write and submit code.
Log in