CF1552I Organizing a Music Festival

题目描述

你是著名的“苏黎世音乐节”的组织者。音乐节上将有 $n$ 位歌手表演,他们的编号为 $1, 2, \dots, n$。你需要决定他们上台表演的顺序。 你有 $m$ 个朋友,每个朋友都有一组喜欢的歌手。更具体地说,对于每个 $1\le i\le m$,第 $i$ 个朋友喜欢的歌手为 $s_{i,1}, s_{i,2}, \dots, s_{i,q_i}$。 如果某个朋友喜欢的所有歌手在表演顺序中是连续的(顺序可以任意),那么这个朋友就会感到高兴。如果一种歌手的排列方式能让所有朋友都高兴,则称这种排列方式为“有效排列”。 请你计算有效排列的数量,并对 $998\,244\,353$ 取模。

输入格式

第一行包含两个整数 $n$ 和 $m$($1\le n,\,m\le 100$),分别表示歌手数量和朋友数量。 接下来的 $m$ 行中,第 $i$ 行包含一个整数 $q_i$($1\le q_i\le n$),表示第 $i$ 个朋友喜欢的歌手数量,随后是 $q_i$ 个整数 $s_{i,1}, s_{i,2}, \dots, s_{i,q_i}$($1\le s_{i,1}

输出格式

输出有效排列的数量,对 $998\,244\,353$ 取模。

说明/提示

样例一解释:有 $3$ 位歌手,只有 $1$ 个朋友。这个朋友喜欢歌手 $1$ 和 $3$。因此,有 $4$ 种有效排列: - 1 3 2 - 2 1 3 - 2 3 1 - 3 1 2 样例二解释:有 $5$ 位歌手和 $5$ 个朋友。可以证明没有任何一种排列是有效的。 样例三解释:有 $100$ 位歌手,只有 $1$ 个朋友。这个朋友只喜欢歌手 $50$,因此所有 $100!$ 种排列都是有效的。 样例四解释:有 $5$ 位歌手,只有 $1$ 个朋友。这个朋友喜欢所有歌手,因此所有 $5!=120$ 种排列都是有效的。 由 ChatGPT 4.1 翻译