#CSP1133. 追逐游戏 (chase)
追逐游戏 (chase)
题目描述
小 Z 和小 Y 正在一棵无根树上玩追逐游戏。树由 个节点构成,编号分别是 。
已知小 Z 会在 秒时从 号节点出发,以每秒一条边的速度前往 号节点,且小 Z 会沿着这两点之间的最短路移动。形式化的,假设树上从 到 的最短路径经过的节点编号依次是 ,其中 ,那么小 Z 在第 秒时会位于 号节点。在小 Z 到达 号节点后,他会一直停在 号点,直到他被小 Y 抓住。
小 Y 会在 秒时从 号节点出发,且小 Y 完全了解小 Z 的行动路线。每秒小 Y 可以选择沿着与当前节点连接的一条边移动,或者停在当前节点不动。小 Y 会选择最优的方式移动,使他能够尽早抓住小 Z 。 我们称小 Y 在 秒时抓住了小 ,当且仅当在第 秒时,小 Y 和小 Z 恰好在同一个节点。注意小 Y 只能在节点上抓到小 Z,而不能在边上抓住小 Z。
他们一共进行了 次追逐游戏,对于每次游戏,如果小 Y 都使用最优策略,请你计算小 Y 最早什么时刻抓住小 Z,以及在哪个节点抓住小 Z。可以证明,在最优策略下,题目所求的时间和节点都唯一。
输入格式
从 chase.in 文件读入数据。
第一行两个整数 。
接下来 行,每行两个整数 ,代表树上的一条边。保证输入的所有边构成了一棵树。
接下来 行,每行三个整数 $S_i,T_i,S_i'(1\le S_i,T_i,S_i'\le n, S_i\not = T_i)$,代表小 Z 的起点,小 Z 的终点,小 Y 的起点。
输出格式
输出到 chase.out 文件。
输出 行,每行两个整数 ,代表第 次游戏小 Y 最早在 秒时抓住小 Z,相应的节点是 号节点。
样例
5 3
1 2
1 3
3 4
3 5
4 1 2
3 5 1
5 2 4
2 1
2 5
1 3
样例 2
点击链接 ex_chase2.in 和 ex_chase2.out 下载大样例 2 的输入数据和输出数据。
数据范围
对于所有数据,。
| 子任务 | 分数 | 附加约束条件 |
|---|---|---|
| 树的结构是一条链 | ||
| 所有 | ||
| 无附加限制 |
相关
在下列比赛中: