6832.Finding a Centroid

Time Limit: 1s Memory Limit: 512MB

Given a tree of $n$ nodes, your task is to find a centroid , i.e., a node such that when it is appointed the root of the tree, each subtree has at most $\lfloor n/2 \rfloor$ nodes.

Input Format(From the terminal/stdin)

The first input line contains an integer $n$ : the number of nodes. The nodes are numbered $1,2,…,n$ .

Then there are $n-1$ lines describing the edges. Each line contains two integers $a$ and $b$ : there is an edge between nodes $a$ and $b$ .

  • $1 \le n \le 2 \cdot 10^5$
  • $1 \le a,b \le n$

Output Format(To the terminal/stdout)

Print one integer: a centroid node. If there are several possibilities, you can choose any of them.

Sample Input

Copy
5
1 2
2 3
3 4
3 5
 \n
 · \n
 · \n
 · \n
 · \n

Sample Output special judge

Copy
3
 \n
Source: CSES, Tree Algorithms, 2079

Submit

请先 登录

© 2025 FAQs