P13573 [CCPC 2024 重庆站] Pico Park
题目背景
本题目来自仓库
题目描述
Menji 在玩一款多人益智小游戏。
在这个游戏中,有 $n$ 名玩家,依次站在数轴的 $1,2,3, \dots, n$ 处,第 $i$ 名玩家有一个面向的方向 $d_i$,为向左或向右。
每名玩家手里有一把缩小枪,玩家会按照一个排列 $p$ 的顺序行动,当轮到玩家 $x$ 行动时:
- 若该玩家已经被缩小,则其不会进行任何行动。
- 否则,其会向其面对的方向发射子弹,子弹会击中面对方向的**第一个未被缩小**的玩家(若面对方向已经没有玩家,则不会击中任何人)。被击中的玩家会立刻被缩小。
由于形势混乱,在实际游戏中,$p$ 会在所有 $n!$ 个可能的排列中随机选取。
Menji 想知道,对于每一个 $1\leq k\leq n$,有多少个排列会使**最终剩余 $k$ 个未被缩小的玩家**?
由于答案很大,你只需要输出答案对 $998244353$ 取模后的值。
输入格式
第一行一个整数 $n \ (2\leq n\leq 500)$。
接下来一行一个长度为 $n$ 的字符串 $s$。其中 $s_i\in\{\text{L},\text{R}\}$,若 $s_i=\text{L}$ 则第 $i$ 名玩家面向左方(即玩家 $1$ 所在方向),若 $s_i=\text{R}$ 则第 $i$ 名玩家面向右方(即玩家 $n$ 所在方向)。
输出格式
输出一行 $n$ 个数,其中第 $i$ 个数表示**最终剩余 $i$ 个未被缩小的玩家**的排列数。