luogu#P16807. [蓝桥杯 2026 国 Python A] 桌游足球

[蓝桥杯 2026 国 Python A] 桌游足球

题目描述

小蓝和小桥进行了一场桌游足球比赛。整场比赛共进了 N+MN + M 个球,其中小蓝进了 NN 个球,小桥进了 MM 个球。

作为桌游足球的忠实选手,小蓝在赛前曾给自己制定了一项“挑战”:在比赛过程中的任意时刻,他的累计进球数都必须领先或者与小桥打平。如果在任何一个进球瞬间小桥反超了比分,这项挑战就宣告失败。

例如,若全场共进 44 个球,小蓝进 22 个球(N=2N = 2)小桥进 22 个球(M=2M = 2),那么在所有可能的进球顺序中,只有(蓝-蓝-桥-桥)和(蓝-桥-蓝-桥)这 22 种顺序能让小蓝成功完成挑战;而像(蓝-桥-桥-蓝)这样的顺序,在第三个球进完时,小蓝仅进 11 个球,小桥进了 22 个球,小桥实现反超,挑战提前宣告失败。

遗憾的是,比赛太过激烈,小蓝在赛后竟忘记了具体的进球顺序。对此,他希望通过数学方法来推导:在所有能够达成该最终比分的进球顺序中,一共有多少种不同的顺序能够让他成功完成这项挑战?

现在,请你编写程序,帮小蓝计算出满足条件的进球顺序总数。由于最终的方案数可能极其庞大,请输出结果对 998244353998244353 取模后的结果。

输入格式

输入共一行,包含两个正整数 NNMM,分别代表小蓝和小桥的最终进球数。

输出格式

输出共一行,包含一个整数,代表满足条件的进球顺序总数对 998244353998244353 取模后的结果。

2 2
2

提示

【评测用例规模与约定】

对于 30%30\% 的评测数据,1MN101 \le M \le N \le 10

对于所有评测数据,1MN1051 \le M \le N \le 10^5