CF1931G One-Dimensional Puzzle
题目描述
你有一个一维拼图,所有的拼图块需要连接成一行,每个拼图块都要与相邻的拼图块连接。所有拼图块都是纯白色的,只有形状不同才能区分。
每个拼图块的上下边都是直的,左右两边各有一个连接口,每个连接口可以是凸起或凹陷。你不能旋转拼图块。
你可以看到,拼图块一共有 $4$ 种类型。只有当左边拼图块的右连接口与右边拼图块的左连接口相反时,这两个拼图块才能连接。

所有可能的拼图块类型如上图所示。拼图中分别有 $c_1, c_2, c_3, c_4$ 个每种类型的拼图块。只有当你能把所有拼图块连接成一条长链时,拼图才算完成。你想知道有多少种不同的拼图完成方式。
输入格式
第一行包含一个整数 $t$($1 \le t \le 2 \cdot 10^5$),表示输入的测试用例数。接下来是每个测试用例的描述。
每个测试用例包含 $4$ 个整数 $c_i$($0 \le c_i \le 10^6$),分别表示每种类型拼图块的数量。
保证所有测试用例中 $c_i$ 的总和不超过 $4 \cdot 10^6$。
输出格式
对于每个测试用例,输出一个整数,表示完成拼图的不同方式数。
如果存在 $i$,使得两种方式在第 $i$ 个位置上的拼图块类型不同,则认为这两种方式是不同的。
由于答案可能很大,请输出对 $998244353$ 取模后的结果。
如果无法完成拼图,请输出 $0$。
说明/提示
由 ChatGPT 4.1 翻译