#PTA2025L203. 我穿越了,竟成了好兄弟的父亲
我穿越了,竟成了好兄弟的父亲
题目描述
说好的当一辈子兄弟,你竟然当我爹。
兄弟害怕小说成真,连夜打开关系谱查询小说有没有成真。
但是由于关系谱太过复杂,所以不懂编程的他希望你帮他写一个程序,检查他的好兄弟们是否依然是兄弟。
关系谱可以简化成一棵有根树,每个人在树上都是一个节点。
若两人是兄弟关系,当且仅当两人在树上对应的两个节点 和 ,满足 不是 的祖先, 也不是 的祖先。
给定一个有 个节点的有根树,其根为 ,和一个长度为 的节点序列 ,表示兄弟们对应树上的节点号。
你需要帮他检查是否存在点对 ,满足 且 和 不为兄弟关系。
如果存在输出 Yes,否则输出 No。
一颗包含 个节点的树是指一个具有 个节点、 条边的无向连通图。有根树是在树中指定一个特殊的顶点作为根的树。
节点 的祖先指所有满足以下条件的顶点 :,并且从根节点到 的最短路径经过 。
输入描述
有多组测试用例。
第一行包含一个正整数 (),表示测试用例组数。
对每组测试用例:
第一行包含两个正整数 和 (),分别表示关系谱的节点数、兄弟们人数。
接下来 行,每行包含两个正整数 和 (),表示 和 之间存在一条边。
保证给定的边构成一棵树。
接下来一行包含 个正整数 (),表示兄弟在树上对应的节点号。
保证 互不相同。
保证所有测试用例中 的和不超过 。
输出描述
对每组测试用例:
输出一行,包含 Yes 或 No,表示答案。
请注意,本题输出严格区分大小写。
样例
2
7 4
1 2
1 3
2 4
2 5
3 6
3 7
4 5 6 7
7 4
1 2
1 3
2 4
2 5
3 6
3 7
3 4 5 6
No
Yes
数据范围
共有 组测试点。
前 组测试点 之和不超过 。
后 组测试点 之和不超过 。