AT_abc242_f [ABC242F] Black and White Rooks

题目描述

在一个纵向 $N$ 行、横向 $M$ 列的网格上,考虑放置 $B$ 个黑色“飞车”棋子和 $W$ 个白色“飞车”棋子。 满足以下所有条件的放置方式称为“好配置”: - 所有 $B+W$ 个棋子都被放置在棋盘上。 - 每个格子上最多只能放置一个棋子。 - 不存在某对白色棋子和黑色棋子的组合,使得它们互相攻击。也就是说,不存在某对白色棋子和黑色棋子的组合,使得其中一个可以通过一步移动到达另一个所在的格子。 这里,“飞车”棋子可以从当前位置沿上、下、左、右任意方向的直线上,在不跳过其他棋子的前提下,一步移动到达该方向上的任意格子。 请计算作为“好配置”的放置方式有多少种?由于答案可能非常大,请输出对 $998244353$ 取模的结果。 同色棋子之间不区分个体。

输入格式

输入通过标准输入给出,格式如下: > $N$ $M$ $B$ $W$

输出格式

输出对 $998244353$ 取模的答案。

说明/提示

### 限制条件 - $1 \leq N, M \leq 50$ - $1 \leq B, W \leq 2500$ - $B + W \leq N \times M$ - 输入均为整数 ### 样例解释 1 作为“好配置”的放置方式共有 $4$ 种。 ![](https://img.atcoder.jp/ghi/00c6bee30b78604192be9b9f0701fc48.png) ### 样例解释 2 也存在没有“好配置”的情况。 ### 样例解释 3 请注意要对 $998244353$ 取模输出。 由 ChatGPT 4.1 翻译