#P4183. [USACO18JAN] Cow at Large P
[USACO18JAN] Cow at Large P
题目描述
Cornered at last, Bessie has gone to ground in a remote farm. The farm consists of barns () and bidirectional 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 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.
输入格式
The first line of the input contains . Each of the following lines specify two integers, each in the range , describing a tunnel between two barns.
输出格式
Please output lines, where the th line of output tells the minimum number of farmers necessary to catch Bessie if she surfaced at the th barn.
题目大意
贝茜在一棵有 个节点的树上,每个度为 的结点是出入口。开始时,每个出入口都可能有一个农民。每个时刻,贝茜和农民都可以移动到相邻的一个结点。如果在她到达一个出口前,农民与贝茜相遇了(在边上或点上均算),则贝茜将被抓住。过程中,农民们与贝茜均知道对方在哪个结点。
请问:对于每个结点 ,如果开始时贝茜在该结点,最少有多少农民,她才会被抓住。
输入
第一行包含 。
在接下来的 行中,每行有两个在 范围内的整数,表示一条边。
输出
输出 行,第 行表示如果开始时贝茜在结点 ,最少有多少农民,她才会被抓住。
Translated by @Planet6174
7
1 2
1 3
3 4
3 5
4 6
5 7
3
1
3
3
3
1
1