A13897 | Game On Tree
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Alice and Bob are playing a game. They have a tree consisting of $n$ vertices. Initially, Bob has $k$ chips, the $i$ -th chip is located in the vertex $a_i$ (all these vertices are unique). Before the game starts, Alice will place a chip into one of the vertices of the tree.
The game consists of turns. Each turn, the following events happen (sequentially, exactly in the following order):
1. Alice either moves her chip to an adjacent vertex or doesn't move it;
2. for each Bob's chip, he either moves it to an adjacent vertex or doesn't move it. Note that this choice is done independently for each chip.
The game ends when Alice's chip shares the same vertex with one (or multiple) of Bob's chips. Note that Bob's chips may share the same vertex, even though they are in different vertices at the beginning of the game.
Alice wants to maximize the number of turns, Bob wants to minimize it. If the game ends in the middle of some turn (Alice moves her chip to a vertex that contains one or multiple Bob's chips), this turn is counted.
For each vertex, calculate the number of turns the game will last if Alice places her chip in that vertex.
The game consists of turns. Each turn, the following events happen (sequentially, exactly in the following order):
1. Alice either moves her chip to an adjacent vertex or doesn't move it;
2. for each Bob's chip, he either moves it to an adjacent vertex or doesn't move it. Note that this choice is done independently for each chip.
The game ends when Alice's chip shares the same vertex with one (or multiple) of Bob's chips. Note that Bob's chips may share the same vertex, even though they are in different vertices at the beginning of the game.
Alice wants to maximize the number of turns, Bob wants to minimize it. If the game ends in the middle of some turn (Alice moves her chip to a vertex that contains one or multiple Bob's chips), this turn is counted.
For each vertex, calculate the number of turns the game will last if Alice places her chip in that vertex.
输入格式
The first line contains one integer $n$ ( $2 \le n \le 2 \cdot 10^5$ ) — the number of vertices in the tree.
Then $n - 1$ lines follow, each line contains two integers $u_i$ , $v_i$ ( $1 \le u_i, v_i \le n$ ; $u_i \ne v_i$ ) that denote the endpoints of an edge. These edges form a tree.
The next line contains one integer $k$ ( $1 \le k \le n - 1$ ) — the number of Bob's chips.
The last line contains $k$ integers $a_1$ , $a_2$ , ..., $a_k$ ( $1 \le a_i \le n$ ; $a_i \ne a_j$ if $i \ne j$ ) — the vertices where the Bob's chips are initially placed.
Then $n - 1$ lines follow, each line contains two integers $u_i$ , $v_i$ ( $1 \le u_i, v_i \le n$ ; $u_i \ne v_i$ ) that denote the endpoints of an edge. These edges form a tree.
The next line contains one integer $k$ ( $1 \le k \le n - 1$ ) — the number of Bob's chips.
The last line contains $k$ integers $a_1$ , $a_2$ , ..., $a_k$ ( $1 \le a_i \le n$ ; $a_i \ne a_j$ if $i \ne j$ ) — the vertices where the Bob's chips are initially placed.
输出格式
Print $n$ integers. The $i$ -th of them should be equal to the number of turns the game will last if Alice initially places her chip in the vertex $i$ . If one of Bob's chips is already placed in vertex $i$ , then the answer for vertex $i$ is $0$ .
输入输出样例
输入 #1
5 2 4 3 1 3 4 3 5 2 4 5
输出 #1
2 1 2 0 0
输入 #2
8 4 1 8 4 4 5 6 4 2 5 4 3 1 7 3 2 8 3
输出 #2
3 0 0 3 1 2 3 0
输入 #3
10 2 5 4 3 7 3 7 2 5 8 3 6 8 10 7 9 7 1 4 10 6 9 1
输出 #3
0 2 2 2 2 0 2 2 0 0
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted