#L3653. 「2021 集训队互测」抽奖机
「2021 集训队互测」抽奖机
题目描述
奆 有一个神秘的抽奖机,它由 个转轮组成。
每个转轮有三个档位,记作 ,转轮的转动与档位关系如下:
- 当一个 档位转轮被转过一次,会变成 档位。
- 当一个 档位转轮被转过一次,会变成 档位。
- 当一个 档位转轮被转过一次,会变成 档位。
一开始所有 个转轮都在 档,将所有转轮的集合记作 。
抽奖机的抽奖器有 个模式,每个模式可以用两个数字 描述,表示:
- 将 分为三个集合 ,即满足: $A\cap B,A\cap B,B\cap C=\emptyset,A\cup B\cup C=S,|A|=a_i,|B|=b_i$ 其中 表示集合 的大小,容易发现一共有 种分配集合的方法
- 然后将集合 中的转轮转动一次,所有集合 中的转轮转过两次
每次拉下摇杆,抽奖机都会进行转动,一次转动如下:
- 从所有模式里选取一个进行;
- 从所有可能的转动情况中选择一个进行。
最终,应该有 $\displaystyle \sum_{i=1}^m \cfrac{n!}{a_i!b_i!(n-a_i-b_i)!}$ 种方案,在这样的所有方案中选择一个。
现在奆 通过 py 手段得知了所有的模式,但是 ta 依然无法控制抽奖机的结果。
自暴自弃的 ta 决定连续乱拉 次拉杆,而并且在此之前,ta 暴怒地逼问你:
最终抽奖机恰好有 个转轮在 档, 个转轮在 档的方案数。
由于答案可能非常大,请输出其 的结果。
输入格式
第一行三个正整数 ,表示转轮个数,模式个数,奆 拉拉杆的次数。
然后 行,每行两个整数 ,描述奆 通过 py 得知的一个模式。
输出格式
输出 行,第 行输出 个数。
第 行第 个数表示:最终抽奖机恰好有 个转轮在 档, 个转轮在 档的方案数,。
样例 1
输入
2 2 2
0 1
1 0
输出
4 2 2
2 4
2
对于样例 1,容易发现一次有 种可能
两次一共有 种可能:
样例 2
输入
2 2 2
0 1
2 0
输出
0 0 3
6 0
0
样例 3
输入
3 6 4
1 2
2 0
1 1
0 1
1 0
0 3
输出
4884 14295 14508 4873
14529 29202 14331
14313 14526
4860
数据范围与提示
本题不采用子任务评测。
对于所有数据,满足 $n \leq 120, m \leq 10^5, k \leq 10^{18}, \forall 0 \leq a_i,b_i \leq n, \forall a_i+b_i \leq n$。
给定的 个模式之间可能有重复。
下表列出了所有 个测试点 的上限以及数据的特殊性质:
# | 特殊性质 | |||
---|---|---|---|---|
1 | 无 | |||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | 无 | |||
10 | ||||
11 | ||||
12 | ||||
13 | ||||
14 | ||||
15 | 无 | |||
16 | ||||
17 | ||||
18 | ||||
19 |