#P2484. Special Matrices

Special Matrices

题目描述

一个 n×nn \times n 的方阵被称为特殊的,满足下面的条件:

  • 它是二进制的,每一个格子上只能是 11 或者 00
  • 每一行的和以及每列的和等于 22

现在,给你 nn 以及方阵前 mm 行,求前 mm 行与给出的 mm 行相同的特殊方阵的数量。

可能所需的答案会很大,输出其对 modmod 取模后的结果。并不保证 modmod 为质数

输入格式

第一行三个整数:n,m,modn,m,mod2n5002 \le n \le 5000mn0 \le m \le n2mod1092 \le mod \le 10^9

接下来 mm 行,每一行给出一个长度为 nn 的零一串。第 ii 行表示方阵的第 ii 行,保证给出的 mm 行形成的 n×mn \times m 的方阵每一列最多出现两个 11,同时给出的 mm 行,每一行一定包含两个 11

输出格式

一行一个数,表示所需值对 modmod 取模后的结果。

3 1 1000
011
2

对于第一个样例,满足条件的矩阵为:

Case1:  Case2:
 011     011
 101     110
 110     101
4 4 100500
0110
1010
0101
1001
1

因为整个 n×nn \times n 的矩阵已经给出,所以只能有一种方案。