#aBC242Fid295. [ABC242F] Black and White Rooks

[ABC242F] Black and White Rooks

AT_abc242_f [ABC242F] Black and White Rooks

题目描述

在一个纵向 NN 行、横向 MM 列的网格上,考虑放置 BB 个黑色“飞车”棋子和 WW 个白色“飞车”棋子。

满足以下所有条件的放置方式称为“好配置”:

  • 所有 B+WB+W 个棋子都被放置在棋盘上。
  • 每个格子上最多只能放置一个棋子。
  • 不存在某对白色棋子和黑色棋子的组合,使得它们互相攻击。也就是说,不存在某对白色棋子和黑色棋子的组合,使得其中一个可以通过一步移动到达另一个所在的格子。

这里,“飞车”棋子可以从当前位置沿上、下、左、右任意方向的直线上,在不跳过其他棋子的前提下,一步移动到达该方向上的任意格子。

请计算作为“好配置”的放置方式有多少种?由于答案可能非常大,请输出对 998244353998244353 取模的结果。

同色棋子之间不区分个体。

输入格式

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

NN MM BB WW

输出格式

输出对 998244353998244353 取模的答案。

输入输出样例 #1

输入 #1

2 2 1 1

输出 #1

4

输入输出样例 #2

输入 #2

1 2 1 1

输出 #2

0

输入输出样例 #3

输入 #3

40 40 30 30

输出 #3

467620384

说明/提示

限制条件

  • 1N,M501 \leq N, M \leq 50
  • 1B,W25001 \leq B, W \leq 2500
  • B+WN×MB + W \leq N \times M
  • 输入均为整数

样例解释 1

作为“好配置”的放置方式共有 44 种。

样例解释 2

也存在没有“好配置”的情况。

样例解释 3

请注意要对 998244353998244353 取模输出。

由 ChatGPT 4.1 翻译