P6662 [POI 2019/2020 R1] Przedszkole / 幼儿园

题目背景

幼儿园的早上,老师们要给小孩子发玩具。

题目描述

有些小孩子玩玩具是自己一个人玩,有些小孩子是成对玩耍。 现在有 $n$ 个小孩子,这 $n$ 个小孩子可以分为 $m$ 对。 有 $k$ 种玩具,要发放给这些小孩子,必须保证在一对内的小孩子拿到的玩具不同。 求一共有多少种发放方案。 因为要发放的天数很多,所以给定 $z$ 组询问,这 $z$ 组询问中 $n,m$ 和对应的对是不变的,变的是 $k$。

输入格式

第一行三个整数 $n,m,z$ 代表小孩子数,成对数和询问数。 这 $n$ 个小朋友编号为 $1$ 到 $n$。 接下来 $m$ 行每行两个整数代表一对小朋友。 接下来 $z$ 行每行一个整数 $k$ 代表一组询问。

输出格式

$z$ 行每行一个整数代表发放方案数。 答案对 $10^9+7$ 取模。

说明/提示

#### 样例说明 两个附加样例请见附加文件中的 sample 1/2.in 和 sample 1/2.out。 #### 数据规模与约定 **本题采用捆绑测试。** - Subtask 1(8 pts):$n,k \le 8$,$z \le 50$。 - Subtask 2(26 pts):$n \le 15$。 - Subtask 3(33 pts):$m \le 24$。 - Subtask 4(33 pts):一个小朋友恰好在两对小朋友。 对于 $100\%$ 的数据,$1 \le n \le 10^5$,$0 \le m \le \min(10^5,\dfrac{n^2-n}{2})$,$1 \le z \le 1000$,$1 \le k \le 10^9$。 对于其中 $50\%$ 的数据,$z=1$。 #### 说明 翻译自 [POI 2019](https://sio2.mimuw.edu.pl/c/oi27-1/dashboard/) D [Przedszkole](https://sio2.mimuw.edu.pl/c/oi27-1/p/prz/)。