#17263. 旅行游戏
旅行游戏
题目描述
有 个城市,编号为 。 条双向道路把这些城市连成一棵树。
Alice 和 Bob 从城市 出发并轮流驾驶,Alice 先手。游戏中,一条道路只要被任何一人经过,就被视为“已经走过”。
- 在 Alice 的回合,她必须连续经过恰好 条此前从未走过的道路。她本回合经过的每一条道路在回合开始前都必须是未走过的。
- 在 Bob 的普通回合,他可以连续经过至多 条道路,也可以不移动。Bob 可以经过已经走过的道路,也可以经过尚未走过的道路。
- 如果 Alice 在自己的回合无法按上述规则连续经过恰好 条未走过的道路,则不再进行 Bob 的普通回合。Bob 改为进行一次终止回合:他可以连续经过至多 条此前从未走过的道路,也可以不移动;随后游戏立即结束。
Alice 希望最大化游戏结束时所在城市的编号,Bob 希望最小化它。
当两人都采取最优策略时,游戏会在哪个城市结束?
输入格式
第一行包含四个整数 。
接下来 行,每行包含两个整数 ,表示一条连接城市 和城市 的双向道路。
输出格式
输出一个整数,表示 Alice 和 Bob 都采取最优策略时,游戏结束所在城市的编号。
样例
样例输入 1
9 6 2 1
1 3
1 6
2 4
2 5
2 7
3 9
4 6
4 8
样例输出 1
2
样例输入 2
7 2 3 2
2 7
7 3
3 1
1 4
4 5
5 6
样例输出 2
3
样例解释
以下说明样例 1。
Alice 第一回合可以到达城市 :
- 如果 Alice 到达城市 ,Bob 可以不移动。Alice 已无法再连续经过两条未走过的道路,随后 Bob 在终止回合也选择不移动,游戏结束在城市 。
- 如果 Alice 到达城市 ,Bob 可以走到城市 。Alice 已无法再按要求行动,随后 Bob 在终止回合不移动,游戏结束在城市 。
- 如果 Alice 到达城市 ,Bob 可以先走到城市 。Alice 下一回合可以到达城市 或 ,Bob 都可以回到城市 。此后 Alice 无法再按要求行动,Bob 在终止回合不移动,游戏结束在城市 。
因此 Bob 可以把终点编号限制在 以内,而 Alice 可以保证终点编号不小于 ,答案为 。
数据范围
对于所有测试数据,满足:
- ;
- ;
- 且 ;
- 输入的道路构成一棵树;
- 所有输入均为整数。
子任务
| 子任务 | 分值 | 测试点 | 特殊限制 |
|---|---|---|---|
| 1 | 4 | ||
| 2 | 16 | 每个城市的度数不超过 ,且城市 的度数不超过 | |
| 3 | 20 | ||
| 4 | 12 | ||
| 5 | 16 | ||
| 6 | 24 | ||
| 7 | 8 | 无额外限制 |