Description

请你提交一份代码,使得能够在满足题面描述的情况下通过此题。
本题包含多组测试数据。
输入的第一行包含一个整数 T,表示测试数据的组数。
接下来包含 T 组数据,每组数据的格式如下:
第一行包含三个整数 n,m,v,分别表示变量个数、一元限制个数和变量的取值上限。
接下来 m 行,第 j 行包含两个整数 cj,dj,描述一个一元限制。
Output
对于每组测试数据输出一行,包含一个整数,表示方案数对 109+7 取模的结果。
Samples
3
2 1 2
1 1
2 2 2
1 1
2 2
2 2 2
1 1
1 2
4
3
0
Limitation
【样例 1 解释】
- 对于第一组测试数据,所有可能的 (a1,b1) 取值的组合 (1,1),(1,2),(2,1),(2,2) 都满足限制。例如,(a1,b1)=(1,1) 时,(x1,x2)=(1,1) 满足所有限制,而 (a1,b1)=(2,2) 时,(x1,x2)=(1,1) 与 (x1,x2)=(1,2) 均满足所有限制。
- 对于第二组测试数据,只有 (x1,x2)=(1,2) 一种可能的变量赋值,因此只有 (a1,b1)=(1,1) 不满足限制,其余三种赋值均满足限制。
- 对于第三组测试数据,不存在一种变量赋值同时满足 x1=1 和 x1=2,因此也不存在满足限制的 (a1,b1)。
【样例 2】
见选手目录下的 assign/assign2.in
与 assign/assign2.ans
。
该样例共有 10 组测试数据,其中第 i(1≤i≤10)组测试数据满足数据范围中描述的测试点 i 的限制。
【样例 3】
见选手目录下的 assign/assign3.in
与 assign/assign3.ans
。
该样例共有 10 组测试数据,其中第 i(1≤i≤10)组测试数据满足数据范围中描述的测试点 i+10 的限制。
【数据范围】
对于所有的测试数据,保证:
- 1≤T≤10,
- 1≤n≤109,1≤m≤105,2≤v≤109,
- 对于任意的 j(1≤j≤m),都有 1≤cj≤n,1≤dj≤v。
测试点 |
n≤ |
m≤ |
v≤ |
特殊性质 |
1,2 |
6 |
2 |
无 |
3 |
9 |
4,5 |
12 |
6 |
103 |
1 |
103 |
7 |
105 |
105 |
8,9 |
109 |
109 |
10 |
103 |
A |
11 |
104 |
12 |
105 |
13 |
104 |
103 |
104 |
B |
14 |
106 |
104 |
106 |
15,16 |
109 |
105 |
109 |
17 |
104 |
103 |
104 |
无 |
18 |
106 |
104 |
106 |
19,20 |
109 |
105 |
109 |
特殊性质 A:保证 m=n,且对于任意的 j(1≤j≤m),都有 cj=j。
特殊性质 B:保证 dj=1。
assign.zip