BCPC 2020 Preliminary
Problem E. 游戏分组
时间限制: 1 second
有 n 个人正在参与一个大型活动,他们的编号分别为 1, 2 . . . , n。活动主办方设计了 m 种游戏供他
们游玩,游戏的编号为 1, 2, . . . , m。
主办方需要将这些人分为若干个组参与游戏,每个人必须恰好被分在一个组中。为了确保游戏的正
常进行,每个组的所有人必须参与同一种游戏。按照活动要求,只有该组的人数恰为 a
i
人时,他们才可
选择第 i 种游戏。每个组既不能不参加游戏,也不能多次参加游戏。每种游戏可以有任意个组参加(也可
以没有组参加)。
现在主办方想要知道,在保证游戏正常进行的前提下,所有不同的分组方案有多少种。主办方认为两
种方案不同当且仅当:
• 某个人在两种方案中参与了不同的游戏,或者
• 某两个人在其中一种方案中被分在了同一个组,而在另外一种方案中没有被分在同一个组。
由于答案可能很大,输出方案总数 mod998, 244, 353 的值即可。
输入格式
输入共包含两行。
输入的第一行包含两个整数 n, m(1 ≤ m ≤ n ≤ 500)。
输入的第二行包含 m 个整数 a
i
(1 ≤ a
i
≤ n),保证 a
i
两两不同。
输出格式
输出一行一个整数,表示答案。
样例
standard input standard output
3 3
1 2 3
5
5 2
1 3
11
5 2
1 2
26
提示
对于第一个样例,它的所有 5 种分组方案如下:
第 1 页,共 2 页