路牌预测赛
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
路牌预测赛
题目背景
有一场特殊的树上预测赛。
每个点都提前写下了一个相邻点,表示自己猜测:
如果要走向终点,第一步应该走向哪里。
现在你需要选择一个终点,使得尽可能多的点猜对。
题目描述
给定一棵有 个点的简单无向树,点的编号为 到 。
对于每个点 ,给定一个整数 ,表示点 提前选择的一个相邻点。保证 一定与 直接相连。
现在你可以选择任意一个点 作为终点。
选择 后,对于每个点 ,点 到点 的简单路径唯一存在。
设这条路径上从 出发后经过的第一个点为 。
如果满足:
则称点 预测正确。
注意,终点 本身不需要移动,因此 不参与正确数量的统计。
请你求出:
- 最多可以有多少个点预测正确;
- 有多少种终点 可以达到这个最大值。
输入格式
第一行输入一个整数 ,表示树上点的数量。
接下来 行,每行输入两个整数 ,表示树上有一条无向边连接点 和点 。
最后一行输入 个整数:
其中 表示点 预测的相邻点。
数据范围
对于所有测试数据,保证:
输入的 个点和 条边构成一棵简单无向树,即连通、无自环、无重边。
保证对于每个 , 一定是点 的相邻点。
所有输入数据均为整数。
输出格式
输出两个整数 。
其中 表示最多预测正确的点数, 表示能达到 的终点数量。
输入输出样例 #1
输入 #1
5
1 2
2 3
2 4
4 5
2 1 2 2 4
输出 #1
4 2
输入输出样例 #2
输入 #2
2
1 2
2 1
输出 #2
1 2
说明/提示
对于样例 ,若选择 作为终点:
- 点 到 的第一步是 ,预测正确;
- 点 到 的第一步是 ,预测正确;
- 点 到 的第一步是 ,预测正确;
- 点 到 的第一步是 ,预测正确。
共有 个点预测正确。
若选择 作为终点,也有 个点预测正确。
没有其他终点能超过 ,所以答案为:
4 2
对于样例 ,选择 或 作为终点时,另一个点都会预测正确,因此答案为:
1 2