2018年1月USACO美国计算机奥赛白金级题2

USACO 2018 January Contest, Platinum Problem 2. Cow at Large

2018年1月USACO美国计算机奥赛白金级题2

Cornered at last, Bessie has gone to ground in a remote farm. The farm consists of NN barns (2N71042≤N≤7⋅104) and N1N−1bidirectional tunnels between barns, so that there is a unique path between every pair of barns. Every barn which has only one tunnel is an exit. When morning comes, Bessie will surface at some barn and attempt to reach an exit.

But the moment Bessie surfaces at some barn, the law will be able to pinpoint her location. Some farmers will then start at various exit barns, and attempt to catch Bessie. The farmers move at the same speed as Bessie (so in each time step, each farmer can move from one barn to an adjacent barn). The farmers know where Bessie is at all times, and Bessie knows where the farmers are at all times. The farmers catch Bessie if at any instant a farmer is in the same barn as Bessie, or crossing the same tunnel as Bessie. Conversely, Bessie escapes if she reaches an exit barn strictly before any farmers catch her.

Bessie is unsure at which barn she should surface. For each of the NN barns, help Bessie determine the minimum number of farmers who would be needed to catch Bessie if she surfaced there, assuming that the farmers distribute themselves optimally among the exit barns.

Note that the time limit for this problem is slightly larger than the default: 4 seconds for C/C++/Pascal, and 8 seconds for Java/Python.

INPUT FORMAT (file atlarge.in):

The first line of the input contains NN. Each of the following N1N−1 lines specify two integers, each in the range 1N1…N, describing a tunnel between two barns.

OUTPUT FORMAT (file atlarge.out):

Please output NN lines, where the iith line of output tells the minimum number of farmers necessary to catch Bessie if she surfaced at the iith barn.

SAMPLE INPUT:

7
1 2
1 3
3 4
3 5
4 6
5 7

SAMPLE OUTPUT:

3
1
3
3
3
1
1

Problem credits: Dhruv Rohatgi