6100: 【DFS】广联达2023秋招-迷宫

金币值:1 时间限制:2.000 s 内存限制:128 M
正确:25 提交:32 正确率:78.13% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 树 DFS 广联达

题目描述

小明在梦中困在一个迷宫里了。迷宫太难了,小明发动特殊能力让迷宫变得简单起来。迷宫变成了一张有n个节点的有根树(根为1号节点)的结构,只能在一个节点往其儿子节点走,而当没有导向其他节点的路径存在时,即该节点没有儿子节点时,便走出了迷宫。这样一来,小明只要沿着任意可以走的路径行进就肯定可以到达出口了!

出发前为了做好周密准备,小明想知道处于这个迷宫的各个位置能到哪些出口。

输入格式

第一行3个整数分别为n,m和q表示迷宫节点数量,迷宫路径数量和询问数量。 

第二行m个整数u1, u2, ..., um 

第三行m个整数v1, v2, ..., vm 

其中ui, vi代表第i条有向路径为从节点ui通往节点vi,即节点ui有一个儿子节点vi。保证形成一棵以1号节点为根的有根树。 

第四行q个整数a1, a2, ..., aq。表示第i次询问为:若处于ai节点,可能到达多少个不同的出口?注意,若一个节点没有导向其他节点的路径存在时,即没有儿子节点时,这个节点则为一个出口。 

1 <= n, m, q <= 50000, 1 <= ui, vi <= n, ui != vi

输出格式

输出一行q个整数,分别表示每次询问的答案。

输入样例    复制

3 2 3
1 1
2 3
1 2 3

输出样例    复制

2 1 1