Kendieer 现在手头上有一个 $$$n\times m$$$ 的网格矩形,他觉得太空旷了,于是他决定塞一些 $$$2\times 2$$$ 的正方形进入该矩形之中。
不过对于每一个被填入矩形的正方形而言,都需要满足:
例如以下放置方式:
![]() | ![]() | ![]() |
| 不合法 | 合法 | 合法 |
Duanhen 看到这个问题之后,觉得太简单了,于是他破坏了 $$$k$$$ 个格子,使得这些格子均不可被正方形覆盖。
由于合法的填充方案太多了,Kendieer 多得数不过来,于是他向你请教一下一共有多少种本质不同$$$^\dagger$$$的合法放置方案,这个答案可能很大,你需要将答案对 $$$998244353$$$ 取模。
$$$\dagger$$$:两种方案被视为不同,当且仅当存在至少一个 $$$2 \times 2$$$ 的正方形位置,在一种方案中被放置而在另一种方案中未被放置。
第一行输入两个正整数 $$$n,m(2\le m\le n\le 12)$$$。
第二行输入一个非负整数 $$$k(0\le k\le n\times m)$$$,表示被破坏的格子数量。
接下来 $$$k$$$ 行,每行输入两个正整数 $$$x_i,y_i(1\le x_i\le n,1\le y_i\le m)$$$,表示被破坏的格子坐标,数据保证坐标两两不同。
输出一个非负整数,表示答案。
3 311 3
4
7 627 67 3
3388
12 1217 6
567132745
对于样例 1,共有以下 $$$4$$$ 种方案:(注意,不放置正方形也视作一种合法的放置方案)
![]() | ![]() |
![]() | ![]() |