AT_utpc2022_k Grid Coloring

题目描述

有一个 $2N \times 2M$ 的网格,网格的每个格子用 $(i,j)$ 表示,其中 $i$ 表示从上往下的第 $i$ 行,$j$ 表示从左往右的第 $j$ 列。起初,每个格子的颜色都是白色。 现在要将 $NM$ 个格子染成红色,并使其满足以下条件: - 对于被染成红色的格子 $(i,j)$,$i + j$ 必须是偶数。 - 被染成红色的格子之间不能共享角或边。严格来说,任意两个不同的被染成红色的格子 $(i,j)$、$(k,l)$,不允许满足 $|i-k| \leq 1$ 且 $|j-l| \leq 1$。 - $K$ 个指定的格子 $(X_i, Y_i)$ 必须染成红色。 请计算,使 $NM$ 个格子染成红色且满足上述所有条件的方法数,对 $998244353$ 取模。

输入格式

输入通过标准输入给出,格式如下: > $N$ $M$ $K$ $X_1$ $Y_1$ $X_2$ $Y_2$ $\cdots$ $X_K$ $Y_K$

输出格式

输出一个整数,表示满足条件的方案数。

说明/提示

### 样例解释 1 例如,将格子 $(1,1),(2,4),(3,1),(4,4)$ 染成红色,就满足条件(见下图左)。 而如果将格子 $(1,1),(2,4),(3,1),(3,3)$ 染成红色,则由于格子 $(2,4)$ 与 $(3,3)$ 共享角,故不满足条件(见下图右)。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_utpc2022_k/bf18f3900e6d2a95f0019db09010d1be3865bca0d0d075067439d86fa083ced1.png) ### 数据范围 - 输入均为整数 - $1 \leq N, M \leq 3000$ - $0 \leq K \leq \min(NM, 10^5)$ - $1 \leq X_i \leq 2N, 1 \leq Y_i \leq 2M$ - $(X_i,Y_i)$ 互不相同 - $X_i + Y_i$ 是偶数 由 ChatGPT 5 翻译