问题描述
我喜欢你,E_Space,所以这是一道博弈题。
小 A 与小B 喜欢图上的游戏,现在有一个 n 个点的有向图 G,最初图上没有边。在接下来 m 个时刻,每个时刻会发生下列事件:
- 随机选取 u,v∈[1,n],在图 G 上连接一条从 u→v 的有向边。
小 A 和小 B 喜欢黑白两种颜色,最初第 i 个点有颜色 ci∈{0,1,2},如果 ci=0 就是黑色,ci=1 就是白色,ci=2 表示该点颜色未确定。
小 A 和小 B 会在 m 个时刻后的图 G 上做游戏,小 A 与小 B 会轮流选择图 G 上一个还未染色的点进行染色,其中小 A 先手。小 A 和小 B 认为黑白相间的边才是美丽的,但是边存在方向。小 A 获得的分数是满足 u→v 且 cu=0,cv=1 的边的条数,小 B 获得的分数是满足 u→v 且 cu=1,cv=0 的边的条数,令 Z 为小 A 的分数减去小 B 的分数,小 A 想要使 Z 尽量大,而小 B 想要使 Z 尽量小,若双方都足够聪明,最终 Z 的值会是多少?
小 A 和小 B 想要知道,对于所有可能的 n2m 种情况,最终 Z 的和对 109+7 取模后的值为多少。\udot{注意,这里认为两种情况不同,当前仅当存在某个时刻加入的有向边不同,同时,图 G 中可能存在重边和自环}。
但是观战者小 C 认为这太简单了,小 C 想要知道,对于所有 1≤N≤n,1≤M≤m,若只关注图 G 的前 N 个点(即忽略后 n−N 个点,图 G 上只有 N 个点)且 m=M 时上述问题对应的答案。
输入格式
第一行两个整数 n,m,分别表示图 G 的点数以及时刻数。
接下来一行包含 n 个整数,第 i 个整数表示 ci。
输出格式
共 n 行,每行包含 m 个整数,第 i 行第 j 个整数表示当 N=i,M=j 时对应的答案。
输入格式
3 2
0 1 2
输出格式
0 0
0 0
2 28
数据范围
对于 100% 的数据,1≤n,m≤50,ci∈{0,1,2}。
| 测试点编号 |
n |
m |
特殊限制 |
| 1 |
≤50 |
≤50 |
A |
| 2∼3 |
=1 |
无 |
| 4∼6 |
=2 |
| 7∼9 |
≤5 |
| 10∼11 |
≤8 |
| 12∼13 |
≤15 |
| 14∼17 |
≤25 |
| 18∼21 |
≤50 |
B |
| 22∼23 |
≤35 |
无 |
| 24∼25 |
≤50 |
特殊性质 A: ∀i∈[1,n],ci∈{0,1}。
特殊性质 B: 保证 ci=2 的个数不超过 1。