AT_utpc2022_k.Grid Coloring

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个 2N×2M2N \times 2M 的网格,网格的每个格子用 (i,j)(i,j) 表示,其中 ii 表示从上往下的第 ii 行,jj 表示从左往右的第 jj 列。起初,每个格子的颜色都是白色。

现在要将 NMNM 个格子染成红色,并使其满足以下条件:

  • 对于被染成红色的格子 (i,j)(i,j),i+ji + j 必须是偶数。
  • 被染成红色的格子之间不能共享角或边。严格来说,任意两个不同的被染成红色的格子 (i,j)(i,j)、(k,l)(k,l),不允许满足 ∣i−k∣≤1|i-k| \leq 1 且 ∣j−l∣≤1|j-l| \leq 1。
  • KK 个指定的格子 (Xi,Yi)(X_i, Y_i) 必须染成红色。

请计算,使 NMNM 个格子染成红色且满足上述所有条件的方法数,对 998244353998244353 取模。

输入格式

输入通过标准输入给出,格式如下:

NN MM KK X1X_1 Y1Y_1 X2X_2 Y2Y_2 ⋯\cdots XKX_K YKY_K

输出格式

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

输入输出样例

  • 输入#1

    2 2 1
    3 1

    输出#1

    3
  • 输入#2

    1 2 2
    1 1
    2 2

    输出#2

    0
  • 输入#3

    20 20 10
    26 26
    27 9
    7 21
    38 20
    30 34
    36 14
    17 7
    30 40
    19 3
    38 8

    输出#3

    908257345

说明/提示

样例解释 1

例如,将格子 (1,1),(2,4),(3,1),(4,4)(1,1),(2,4),(3,1),(4,4) 染成红色,就满足条件(见下图左)。

而如果将格子 (1,1),(2,4),(3,1),(3,3)(1,1),(2,4),(3,1),(3,3) 染成红色,则由于格子 (2,4)(2,4) 与 (3,3)(3,3) 共享角,故不满足条件(见下图右)。

数据范围

  • 输入均为整数
  • 1≤N,M≤30001 \leq N, M \leq 3000
  • 0≤K≤min⁡(NM,105)0 \leq K \leq \min(NM, 10^5)
  • 1≤Xi≤2N,1≤Yi≤2M1 \leq X_i \leq 2N, 1 \leq Y_i \leq 2M
  • (Xi,Yi)(X_i,Y_i) 互不相同
  • Xi+YiX_i + Y_i 是偶数

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页