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

    ID: 7466 远端评测题 1500ms 128MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>2019POI(波兰)容斥原理

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

背景

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

题目描述

有些小孩子玩玩具是自己一个人玩,有些小孩子是成对玩耍。

现在有 nn 个小孩子,这 nn 个小孩子可以分为 mm 对。

有 kk 种玩具,要发放给这些小孩子,必须保证在一对内的小孩子拿到的玩具不同。

求一共有多少种发放方案。

因为要发放的天数很多,所以给定 zz 组询问,这 zz 组询问中 n,mn,m 和对应的对是不变的,变的是 kk。

输入格式

第一行三个整数 n,m,zn,m,z 代表小孩子数,成对数和询问数。
这 nn 个小朋友编号为 11 到 nn。
接下来 mm 行每行两个整数代表一对小朋友。
接下来 zz 行每行一个整数 kk 代表一组询问。

输出格式

zz 行每行一个整数代表发放方案数。
答案对 109+710^9+7 取模。

4 4 1
1 2
2 3
1 3
3 4
3
12
5 10 2
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
5
6
120
720
11 40 1
8 1
4 1
3 8
2 6
9 8
11 5
2 5
2 1
11 4
10 6
11 10
9 7
10 4
6 9
9 10
2 11
6 7
8 2
10 8
3 6
11 9
1 10
4 3
6 11
3 11
4 5
8 7
10 3
11 7
9 2
8 6
2 3
3 7
8 4
9 5
4 9
7 2
5 10
10 2
6 4
15
142679253

提示

样例说明

两个附加样例请见附加文件中的 sample 1/2.in 和 sample 1/2.out。

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(8 pts):n,k≤8n,k \le 8,z≤50z \le 50。
  • Subtask 2(26 pts):n≤15n \le 15。
  • Subtask 3(33 pts):m≤24m \le 24。
  • Subtask 4(33 pts):一个小朋友恰好在两对小朋友。

对于 100%100\% 的数据,1≤n≤1051 \le n \le 10^5,0≤m≤min⁡(105,n2−n2)0 \le m \le \min(10^5,\dfrac{n^2-n}{2}),1≤z≤10001 \le z \le 1000,1≤k≤1091 \le k \le 10^9。

对于其中 50%50\% 的数据,z=1z=1。

说明

翻译自 POI 2019 D Przedszkole。