3352 - 统计可能的树根数目

通过次数

1

提交次数

5

时间限制 : 1 秒
内存限制 : 128 MB

Alice 有一棵 n 个节点的树,节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges 表示,其中 edges[i] = [a_i, b_i] ,表示树中节点 a_ib_i 之间有一条边。

Alice 想要 Bob 找到这棵树的根。她允许 Bob 对这棵树进行若干次 猜测 。每一次猜测,Bob 做如下事情:

选择两个 不相等 的整数 u 和 v ,且树中必须存在边 [u, v] 。 Bob 猜测树中 u 是 v 的 父节点 。 Bob 的猜测用二维整数数组 guesses 表示,其中 guesses[j] = [u_j, v_j] 表示 Bob 猜 u_jv_j 的父节点。

Alice 非常懒,她不想逐个回答 Bob 的猜测,只告诉 Bob 这些猜测里面 至少 有 k 个猜测的结果为 true 。

给你二维整数数组 edges ,Bob 的所有猜测和整数 k ,请你返回可能成为树根的 节点数目 。如果没有这样的树,则返回 0。

输入

输入第一行为一个数n,表示树的节点数目

接下来n-1行,每行两个数字,每行表示树的一条边的两个端点的编号

接下来一行一个数字m,表示bob询问的边数

接下来m行,每行两个数字 a,b,表示bob询问a节点是否是b的父节点

最后一行数字k,表示bob询问的正确数

输出

输出仅一个数字,即满足bob询问条件的所有可能的节点

样例

输入

5
0 1
1 2
1 3
4 2
4
1 3
0 1 
1 0
2 4
3

输出

3

输入

5
0 1
1 2
2 3
3 4
4
1 0
3 4
2 1
3 2
1

输出

1

提示

根为节点 0 ,正确的猜测为 [1,3], [0,1], [2,4]

根为节点 1 ,正确的猜测为 [1,3], [1,0], [2,4]

根为节点 2 ,正确的猜测为 [1,3], [1,0], [2,4]

根为节点 3 ,正确的猜测为 [1,0], [2,4]

根为节点 4 ,正确的猜测为 [1,3], [1,0]

节点 0 ,1 或 2 为根时,可以得到 3 个正确的猜测。

根为节点 0 ,正确的猜测为 [3,4]

根为节点 1 ,正确的猜测为 [1,0], [3,4]

根为节点 2 ,正确的猜测为 [1,0], [2,1], [3,4]

根为节点 3 ,正确的猜测为 [1,0], [2,1], [3,2], [3,4]

根为节点 4 ,正确的猜测为 [1,0], [2,1], [3,2]

任何节点为根,都至少有 1 个正确的猜测。

2 <= n <= 10^5

1 <= m <= 10^5

0 <= ai, bi, uj, vj <= n - 1

ai != bi

uj != vj

bob可能提交重复的边

来源

leetcode