#17263. 旅行游戏

旅行游戏

题目描述

NN 个城市,编号为 1,2,,N1,2,\ldots,NN1N-1 条双向道路把这些城市连成一棵树。

Alice 和 Bob 从城市 RR 出发并轮流驾驶,Alice 先手。游戏中,一条道路只要被任何一人经过,就被视为“已经走过”。

  • 在 Alice 的回合,她必须连续经过恰好 AA 条此前从未走过的道路。她本回合经过的每一条道路在回合开始前都必须是未走过的。
  • 在 Bob 的普通回合,他可以连续经过至多 BB 条道路,也可以不移动。Bob 可以经过已经走过的道路,也可以经过尚未走过的道路。
  • 如果 Alice 在自己的回合无法按上述规则连续经过恰好 AA 条未走过的道路,则不再进行 Bob 的普通回合。Bob 改为进行一次终止回合:他可以连续经过至多 BB 条此前从未走过的道路,也可以不移动;随后游戏立即结束。

Alice 希望最大化游戏结束时所在城市的编号,Bob 希望最小化它。

当两人都采取最优策略时,游戏会在哪个城市结束?

输入格式

第一行包含四个整数 N,R,A,BN,R,A,B

接下来 N1N-1 行,每行包含两个整数 ui,viu_i,v_i,表示一条连接城市 uiu_i 和城市 viv_i 的双向道路。

输出格式

输出一个整数,表示 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 第一回合可以到达城市 2,3,82,3,8

  • 如果 Alice 到达城市 22,Bob 可以不移动。Alice 已无法再连续经过两条未走过的道路,随后 Bob 在终止回合也选择不移动,游戏结束在城市 22
  • 如果 Alice 到达城市 33,Bob 可以走到城市 11。Alice 已无法再按要求行动,随后 Bob 在终止回合不移动,游戏结束在城市 11
  • 如果 Alice 到达城市 88,Bob 可以先走到城市 44。Alice 下一回合可以到达城市 5577,Bob 都可以回到城市 22。此后 Alice 无法再按要求行动,Bob 在终止回合不移动,游戏结束在城市 22

因此 Bob 可以把终点编号限制在 22 以内,而 Alice 可以保证终点编号不小于 22,答案为 22

数据范围

对于所有测试数据,满足:

  • 2N3000002\le N\le 300000
  • 1R,A,BN1\le R,A,B\le N
  • 1ui,viN1\le u_i,v_i\le Nuiviu_i\ne v_i
  • 输入的道路构成一棵树;
  • 所有输入均为整数。

子任务

子任务 分值 测试点 特殊限制
1 4 001002001\sim 002 ABA\le B
2 16 003008003\sim 008 每个城市的度数不超过 22,且城市 RR 的度数不超过 11
3 20 009014009\sim 014 N300N\le 300
4 12 015024015\sim 024 N3000N\le 3000
5 16 025034025\sim 034 N100000, B10N\le 100000,\ B\le 10
6 24 035047035\sim 047 N100000N\le 100000
7 8 048060048\sim 060 无额外限制