CF793E Problem of offices
题目描述
在没有互联网的年代,每家银行在 Bankopolis 全市各地设有许多营业部,这带来了许多问题。即,每天银行都需要从所有营业部收取现金。
有一天,银行客户 Oleg 听到了两位押运员的对话。押运员们每天都按照同样的路线穿行在所有银行的部门与营业部之间。他们从中央部门出发,在各部门或部门与营业部之间通过专用道路移动,最后回到中央部门。部门与营业部的总数为 $n$,道路总数为 $n-1$。换句话说,这些专用道路的系统是一棵以中央部门为根的有根树,根为中央部门,叶子为营业部,内部节点为部门。押运员们总是按照一条路径行走,这条路径经过的道路数是最少的,即 $2n-2$ 条路。
其中一名押运员说,在他们从营业部 $a$ 到营业部 $b$ 时,所经过的营业部数和从 $b$ 到 $a$ 时相同(顺序如题)。另一名押运员说,从营业部 $c$ 到 $d$ 的经过营业部数,与从 $d$ 到 $c$ 的相同(顺序如题)。有趣的是,对于 $a$、$b$、$c$、$d$ 这四家营业部中的任意一对,它们之间的最短路径(只用专用道路)都要经过中央部门。
现给定专用道路示意图,以及营业部 $a$、$b$、$c$、$d$ 的编号,请判断押运员所说的情况是否可能。
输入格式
第一行包含一个整数 $n$($5 \leq n \leq 5000$),表示部门和营业部的总数。各节点编号为 $1 \sim n$,中央部门编号为 $1$。
第二行包含四个整数 $a, b, c, d$($2 \leq a, b, c, d \leq n$),为题中押运员提到的营业部编号。保证这些编号均为营业部(即为树的叶子),且任意两者之间的最短路径都经过中央部门。
第三行包含 $n-1$ 个整数:$p_2,p_3,\ldots,p_n$($1 \leq p_i < i$),表示第 $i$ 个营业部或部门和第 $p_i$ 个部门之间有一条专用道路。
请注意,部门和营业部的编号是统一编号的。
保证给定的图是一棵树。营业部为叶子节点,部门为内部节点。
输出格式
如果押运员们所描述的情形可能发生,输出 “YES”;否则输出 “NO”。
说明/提示
在第一个样例中,可以有如下押运员路径:。可以注意到,从营业部 $a$ 到 $b$ 之间经过的营业部数量等于从 $b$ 到 $a$ 的,同理 $c$ 和 $d$ 也是如此(路是个环,因为押运员每天都重复这条路线)。
在第二个样例中,没有路线能让 $c$ 到 $d$ 与 $d$ 到 $c$ 经过的营业部数目相等,因此该情形不可能出现。
在第三个样例中,可以有如下押运员路径之一:。
由 ChatGPT 5 翻译