CF960G Bandit Blues
题目描述
Japate 在穿越 Mala 森林时,看到有 $N$ 袋金子排成一行。每袋金子的重量各不相同,且重量为 $1$ 到 $N$ 之间的整数。Japate 只能带走一袋金子,因此他采用如下策略来选择金袋:
一开始,他手里是一个空袋子(重量为零)。他按照某种顺序依次考虑这些金袋。如果当前金袋的重量比他手中的袋子重,他就用当前的金袋替换手中的袋子。
Japate 会将这些金袋按某种顺序排列。他发现,如果他从前往后依次挑选金袋,他会挑选 $A$ 个袋子;如果他从后往前挑选,则会挑选 $B$ 个袋子。这里的“挑选”指的是用当前的金袋替换手中的袋子。
现在,他想知道,有多少种排列方式,使得从前往后挑选时能挑选 $A$ 个袋子,从后往前挑选时能挑选 $B$ 个袋子,且都按照上述策略进行。
由于答案可能非常大,请输出答案对 $998244353$ 取模后的结果。
输入格式
输入仅一行,包含三个用空格分隔的整数 $N$($1 \leq N \leq 10^{5}$)、$A$ 和 $B$($0 \leq A,B \leq N$)。
输出格式
输出一个整数,表示满足条件的排列数,对 $998244353$ 取模。
说明/提示
样例 $1$ 中,唯一可能的排列是 $[1]$。
样例 $2$ 和 $3$ 中,长度为 $2$ 的排列只有两种:$[1,2]$ 和 $[2,1]$。对于第一个排列,$a=2$,$b=1$;对于第二个排列,$a=1$,$b=2$。
样例 $4$ 中,$[1,2,3,4,5]$ 的 $120$ 种排列中,只有 $22$ 种满足给定的 $a$ 和 $b$ 的约束。
由 ChatGPT 4.1 翻译