试题名称:⼤量的⼯作沟通
问题描述
某公司有 N 名员⼯,编号从 0 ⾄ N-1 。其中,除了 0 号员⼯是⽼板,其余每名员⼯都有⼀个直接领导。我们假设 编号为 i 的员⼯的直接领导是 fi 。
该公司有严格的管理制度,每位员⼯只能受到本⼈或直接领导或间接领导的管理。具体来说,规定员⼯ x 可以管理 员⼯ y,当且仅当 x=y ,或 x=fy ,或 x 可以管理 fy 。特别地,0号员⼯⽼板只能⾃我管理,⽆法由其他任何员⼯ 管理。
现在,有⼀些同事要开展合作,他们希望找到⼀位同事来主持这场合作,这位同事必须能够管理参与合作的所有同 事。如果有多名满⾜这⼀条件的员⼯,他们希望找到编号最⼤的员⼯。你能帮帮他们吗?
输入描述
第⼀⾏⼀个整数 N ,表⽰员⼯的数量。
第⼆⾏ N-1 个⽤空格隔开的正整数,依次为 f1,f2,...fN-1 。
第三⾏⼀个整数 Q ,表⽰共有 Q 场合作需要安排。
接下来 Q ⾏,每⾏描述⼀场合作:开头是⼀个整数 m( ),表⽰参与本次合作的员⼯数量;接着是 m个整数,依次表⽰参与本次合作的员⼯编号(保证编号合法且不重复)。
保证公司结构合法,即不存在任意⼀名员⼯,其本⼈是⾃⼰的直接或间接领导。
输出描述
输出m 行,每行一个整数,依次为每场合作的主持人选。
样例输入1
1 5 2 0 0 2 2 3 3 4 2 3 4 5 3 2 3 4 6 2 14
样例输出 1
1 2 2 2 3 0
样例解释1
对于第⼀场合作,员⼯ 3,4 有共同领导2,可以主持合作。
对于第二场合作,员工2 本人即可以管理所有参与者。
对于第三场合作,只有0老板才能管理所有参与者。