CF1606E Arena
题目描述
竞技场中有 $n$ 个英雄正在战斗。最初,第 $i$ 个英雄拥有 $a_i$ 点生命值。
战斗分为若干回合进行。在每一回合开始时,每个存活的英雄会对其他所有英雄各造成 $1$ 点伤害。所有英雄的攻击是同时发生的。在一回合结束后,生命值小于 $1$ 的英雄被视为阵亡。
如果在某一回合结束后,恰好只剩下 $1$ 个英雄存活,那么他将被宣布为胜者。否则,比赛没有胜者。
你的任务是计算有多少种方式为每个英雄选择初始生命值 $a_i$,其中 $1 \le a_i \le x$,使得比赛没有胜者。由于方案数可能非常大,请输出对 $998244353$ 取模后的结果。如果至少有一个英雄的生命值不同,则两种方案被视为不同。例如,$[1, 2, 1]$ 和 $[2, 1, 1]$ 是不同的。
输入格式
一行包含两个整数 $n$ 和 $x$($2 \le n \le 500; 1 \le x \le 500$)。
输出格式
输出一个整数,表示有多少种方式为每个英雄选择初始生命值 $a_i$,其中 $1 \le a_i \le x$,使得比赛没有胜者,对 $998244353$ 取模后的结果。
说明/提示
由 ChatGPT 4.1 翻译