#309. [CFCOI Collection 4] 01 矩阵计数

[CFCOI Collection 4] 01 矩阵计数

题目描述

现在有一个 n×nn \times n 的 0101 矩阵†^\dagger AA。

一次对矩阵 AA 的操作被定义为:

  • 对于所有 1≤i≤n,1≤j≤n1 \le i \le n,1 \le j \le n,若 Ai−1,j+Ai+1,j≥1A_{i-1,j}+A_{i+1,j} \ge 1 且 Ai,j−1+Ai,j+1≥1A_{i,j-1}+A_{i,j+1} \ge 1,则将 Ai,jA_{i,j} 改为 11,否则不变。

特别地,若 i<1i<1 或 i>ni>n 或 j<1j<1 或 j>nj>n,则认为 Ai,j=0A_{i,j}=0。

定义矩阵 AA 是好的,当且仅当对 AA 进行恰好 1010010^{100} 次操作后,AA 中不存在 00。

给定一个 n×nn \times n 的 0101 矩阵 BB。

已知此矩阵 AA 满足:

  • 对于所有 1≤i,j≤n1 \le i,j \le n,Ai,j≤Bi,jA_{i,j} \le B_{i,j};
  • ∑i=1n∑j=1nAi,j≤n\sum_{i=1}^{n}\sum_{j=1}^{n} A_{i,j} \le n;
  • AA 是一个好矩阵。

问矩阵 AA 有多少种可能,答案对 998244353998244353 取模。

†\dagger:指所有数均为 00 或 11 的矩阵。

输入格式

第一行一个整数 nn。

接下来 nn 行,每行 nn 个整数。第 ii 行第 jj 个整数为 Bi,jB_{i,j}。

输出格式

仅一行一个整数,为答案对 998244353998244353 取模后的值。

样例

2
1 1
1 0
1

说明/提示

对于 100%100\% 的数据:

  • 1≤n≤1501 \le n \le 150;
  • Bi,j∈{0,1}B_{i,j} \in \{0,1\}。

本题开启捆绑测试。

  • Subtask #1(5 pts5 \ \text{pts}):n≤5n \le 5。
  • Subtask #2(5 pts5 \ \text{pts}):∑i=1n∑j=1nBi,j=n\sum_{i=1}^{n}\sum_{j=1}^{n} B_{i,j}=n。
  • Subtask #3(10 pts10 \ \text{pts}):n≤8n \le 8。
  • Subtask #4(10 pts10 \ \text{pts}):n≤11n \le 11,Bi,j=1B_{i,j}=1。
  • Subtask #5(5 pts5 \ \text{pts}):若 ∣i−j∣>1|i-j| > 1,则 Bi,j=0B_{i,j}=0。
  • Subtask #6(20 pts20 \ \text{pts}):n≤18n \le 18。
  • Subtask #7(10 pts10 \ \text{pts}):Bi,j=1B_{i,j}=1。
  • Subtask #8(10 pts10 \ \text{pts}):n≤40n \le 40。
  • Subtask #9(25 pts25 \ \text{pts}):无特殊限制。