#P17248. [2025年南开中学集训]卡牌
[2025年南开中学集训]卡牌
题目描述
首先,有 个不同的地点。
有 种牌,编号从 0 开始,每种牌有无限张。每个牌 的效果对应一个长度为 的数组 ,表示如果当前在地点 ,则移动到地点 。
发牌员为你发牌,初始时你的手牌为空,且没有被加入过任何牌。
你将进行游戏,具体来说,一直执行回合。
每个回合:
- 发牌员从第 0 种牌到第 种牌选出若干种,每种牌一张,加入你的手牌中。我们要求,每次发牌一定有至少一张牌满足:这种牌在本回合之前没有被加入过你的手牌。
- 你从你的手牌中任意挑选一张,要么丢掉,要么打出并立即执行这张牌的效果。
- 重复执行上一步直到你的手牌为空。
- 如果截至目前被加入过你的手牌的种类的集合为 ,对应二进制表示为 ,则立即获得一张牌 ,你可以选择丢掉这张牌,或者打出并立即执行这张牌的效果。请注意,这张牌并未被加入手牌,因此 。
- 结束本回合。如果此时 中的所有牌都被加入过你的手牌,则结束游戏。
对于所有 ,求有多少种不同的方案,满足可以从 1 最终走到 。
方案不同,当且仅当:发牌员在某回合发的牌不同,或你选择打出的牌不同,或你打出牌的顺序不同。
答案对 998244353 取模。
输入格式
第一行两个正整数,表示 。
之后 行,每行 个正整数 , 从 0 开始编号。
输出格式
一行 个正整数,第 个数代表从 1 出发,游戏结束时在 的方案数。
样例 1
输入
2 2
1 1
2 2
1 2
1 2
1 1
1 2
输出
74 48
样例 2
输入
2 3
2 1 3
3 2 1
1 2 3
1 3 2
1 2 3
3 1 2
输出
37 43 42
限制与约定
对于 100% 的数据,,。
| 子任务编号 | 分值 | ||
|---|---|---|---|
| 1 | 5 | 6 | 10 |
| 2 | 10 | ||
| 3 | 13 | ||
| 4 | 15 | 20 | |
| 5 | 18 | 1 | 5 |
| 6 | 2 | 10 | |
| 7 | 5 | 15 | |
| 8 | 6 | 20 |