2020年合肥市经开区青少年信息学竞赛初中组第3题超级传染源
【题目描述】
疫情期间,大部分人都能按照要求减少外出,需要外出时肯定戴上口罩,做好必要的防护。当然,也会存在一些心存侥幸的人,做出了一些不合情理甚至是违法的事情。比如,一起喊楼,爱国的情感可以理解,但是行为却不可取。再比如,本身可能感染了病毒,不去就诊,反而到处跑,感染了更多的人,实在是可恶。对于这些传染了很多人的人,我们称之为超级传染源。因为病毒的源头尚不清楚,因此第一批感染的人,将其感染源定为 0。对于后续被感染的人,其感染源为传染病毒给他的那个人的编号。现在给出 n 个感染病毒的人及他的感染源的编号,请统计输出第一批感染病毒且传染了最多人的超级传染源的编号,如果最多人数一样,请输出最小的编号。
【输入】
共 n+1 行。第一行一个正整数 n,表示接下来有 n 行;接下来的 n 行, 每行有 2 个整数,分别表示一个感染病毒的人及他的感染源的编号。 请注意,输入未必按照编号顺序。
【输出】
一行,一个整数,表示传染人数最多的超级传染源的编号。
【输入样例】
9 1 0 2 0 3 1 4 1 5 2 6 2 7 4 8 4 9 4
【输出样例】
1
【样例解释】
第一批感染病毒的人是 1 号和 2 号。1 号感染了 3 号和 4 号,4 号感染了 7 号、8 号和 9 号,因此通过 1 号,感染了 5 人;2 号感染了 5 号和 6 号,通过 2 号,感染了 2 人。感染人数最多的是 1 号,因此输出 1。
【数据规模及约定】
10%的数据,只有一个第一批感染病毒的人。
另有 10%的数据,只有第一批和第二批感染病毒的人。
另有 20%的数据,一个感染源最多只感染两个人。
100%的数据,1