#abc228g. [abc228_g]Digits on Grid

[abc228_g]Digits on Grid

问题描述

有一个网格,有 HH 行和 WW 列,每个方格包含一个介于 1199 之间的数字。对于所有满足 1iH1 \leq i \leq H1jW1 \leq j \leq W 的整数对 (i,j)(i, j),位于从上往下的第 ii 行和从左往右的第 jj 列的方格上的数字是 ci,jc_{i, j}

利用这个网格,高桥和青木将一起进行游戏。首先,高桥选择一个方格并在上面放置一个棋子。然后,两人将重复以下步骤,1 到 4,NN 次。

  1. 高桥执行以下两种操作之一。
    • 将棋子移动到与棋子所在方格共享行的另一个方格上。
    • 什么都不做。
  2. 高桥在黑板上写下棋子所在方格上的数字。
  3. 青木执行以下两种操作之一。
    • 将棋子移动到与棋子所在方格共享列的另一个方格上。
    • 什么都不做。
  4. 青木在黑板上写下棋子所在方格上的数字。

之后,黑板上将书写 2N2N 个数字。设 d1,d2,,d2Nd_1, d_2, \ldots, d_{2N} 是以它们被书写的顺序排列的这些数字。两个男孩将按照这个顺序连接 2N2N 个数字,构成一个 2N2N 位整数 X:=d1d2d2NX := d_1d_2\ldots d_{2N}

计算 XX 可以变成的不同整数的数量,对 998244353998244353 取模。

约束条件

  • 2H,W102 \leq H, W \leq 10
  • 1N3001 \leq N \leq 300
  • 1ci,j91 \leq c_{i, j} \leq 9
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

HH WW NN c1,1c_{1, 1}c1,2c_{1, 2}\cdotsc1,Wc_{1, W} c2,1c_{2, 1}c2,2c_{2, 2}\cdotsc2,Wc_{2, W} \vdots cH,1c_{H, 1}cH,2c_{H, 2}\cdotscH,Wc_{H, W}

输出

打印 XX 可以变成的不同整数的数量,对 998244353998244353 取模。


示例输入 1

2 2 1
31
41

示例输出 1

5

下面是一种可能的情况。

  • 首先,高桥将棋子放在 (1,2)(1, 2) 上。
  • 高桥将棋子从 (1,2)(1, 2) 移动到 (1,1)(1, 1),然后写下数字 33
  • 青木将棋子从 (1,1)(1, 1) 移动到 (2,1)(2, 1),然后写下数字 44

在这种情况下,我们有 X=34X = 34
下面是另一种可能的情况。

  • 首先,高桥将棋子放在 (2,2)(2, 2) 上。
  • 高桥保持棋子在 (2,2)(2, 2) 上,然后写下数字 11
  • 青木将棋子从 (2,2)(2, 2) 移动到 (1,2)(1, 2),然后写下数字 11

在这种情况下,我们有 X=11X = 11。除此之外,XX 还可以变成 333344444343,但没有其他情况。
也就是说,XX 可以变成五个不同的整数,所以我们打印 55


示例输入 2

2 3 4
777
777

示例输出 2

1

XX 只能变成 7777777777777777


示例输入 3

10 10 300
3181534389
4347471911
4997373645
5984584273
1917179465
3644463294
1234548423
6826453721
5892467783
1211598363

示例输出 3

685516949

要确保对 998244353998244353 取模。