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