Logo Universal Online Judge

UOJ

时间限制:4 s 空间限制:512 MB

#2646. 信息传输

统计

题目描述

2202 年,人类的技术得到了极大的发展,安全、高速地传输信息也成为了发展中必 不可少的一环。

地球上现存 k 个国家,他们准备联合起来建立包含 n 个数据处理中心的,分布全球的大型数据处理基地。其中仅允许 m 对数据处理中心之间进行双向数据传输,并且保证任意两个中心之间都可以直接或间接进行数据传输。接下来面临的问题就是 k 个国家如何分配这 n 个数据处理中心,使得每个数据处理中心都恰好属于一个国家。

把数据处理中心从 1n 编号,把数据传输关系从 1m 编号。为了保证数据传输的安全性与高效性,如果数据传输两端的中心属于两个不同的国家,那么必须采用加密传输方式,在第 i 对数据传输关系中这样的方式有 diffi 种;否则必须采用明文传输方式,在第 i 对数据传输关系中这样的方式有 samei 种。由于某些限制,diffisamei 可能为 0(但不会同时为 0),表示无法找到合适的传输方式,那么这样的分配方案就不合理,他们不会选用。

现在,他们正在开会商讨分配方式。他们会先决定每个数据处理中心分配给哪一个国家,然后决定每一条传输关系选用何种传输方式——当然,必须是合法的。

你很想知道,究竟会有多少种不同的合理的分配方案呢?——两个方案不同,当且仅当存在一个数据处理中心(在两种方案中)所属的国家不同,或存在一条传输关系(在两 种方案中)选用了不同的传输方式。你只想知道所有方案的总数除以 109+7 的余数。

输入格式

从文件 trans.in 中读入数据。

第一行一个整数 T,表示数据组数。

接下来是 T 组数据,对于每组数据:

第一行包含三个整数 n,m,k 表示数据传输中心的个数、数据传输关系的个数和国家的个数;

接下来 m 行,每行四个整数 xi,yi,diffi,samei,表示数据传输关系两端的数据传输中心、在这种传输关系中的加密传输方式的数量和明文传输方式的数量。

输出格式

输出到文件 trans.out 中。 输出文件包含 T 行,对于每组数据,输出一行一个整数,表示不同的合理方案个数除以 109+7 的余数。

样例 1 输入

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

样例 1 输出

24

样例 1 解释

如果中心 1 被国家 1 占领,中心 2 被国家 1 占领,则方案数为 1×2×0×1=0

如果中心 1 被国家 1 占领,中心 2 被国家 2 占领,则方案数为 1×2×2×1=4

如果中心 1 被国家 1 占领,中心 2 被国家 3 占领,则方案数为 1×2×2×1=4

如果中心 1 被国家 2 占领,中心 2 被国家 1 占领,则方案数为 1×2×2×1=4

如果中心 1 被国家 2 占领,中心 2 被国家 2 占领,则方案数为 1×2×0×1=0

如果中心 1 被国家 2 占领,中心 2 被国家 3 占领,则方案数为 1×2×2×1=4

如果中心 1 被国家 3 占领,中心 2 被国家 1 占领,则方案数为 1×2×2×1=4

如果中心 1 被国家 3 占领,中心 2 被国家 2 占领,则方案数为 1×2×2×1=4

如果中心 1 被国家 3 占领,中心 2 被国家 3 占领,则方案数为 1×2×0×1=0

因此总方案数为 (0 + 4 + 4 + 4 + 0 + 4 + 4 + 4 + 0) \bmod (10^9 + 7) = 24

样例 2

大样例

测试点约束

对于所有测试点,1 \leq T \leq 1001 \leq n,m \leq 1001 \leq x_i, y_i \leq n,保证任意两个中心之间都可以直接或间接进行数据传输,1 \leq k \leq 10^9,0 \leq diff_i,same_i \leq 10^9,diff_i + same_i \geq 1,所有数据随机生成。

每个测试点的具体限制见下表:

测试点编号 n m k T 特殊限制
1 =2 =100 \leq 100 =2
2 =2 =100 \leq 10^9 =100
3 =5 =20 =13 =5 diff_i=1,same_i=0
4 =6 =10 =12 =5 diff_i=1,same_i=0
5 =9 =16 =4 =5
6 =12 =20 =3 =5
7 =8 \leq 100 \leq 10^9 =5 diff_i=1,same_i=0
8 =10 \leq 100 \leq 10^9 =5 diff_i=1,same_i=0
9 =11 \leq 50 \leq 10^9 =2
10 =12 \leq 50 \leq 10^9 =2
11 =23 =n-1 \leq 1000 =2
12 =41 =n-1 \leq 1000 =2
13 =91 =n-1 \leq 5000 =10
14 =97 =n-1 \leq 5000 =10
15 =81 =89 \leq 10^9 =5
16 =81 =89 \leq 10^9 =5
17 =89 =98 \leq 10^9 =5
18 =89 =98 \leq 10^9 =10
19 =89 =98 \leq 10^9 =10
20 =89 =98 \leq 10^9 =10