4985:星际比赛

文件提交:无需freopen 内存限制:512 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1 解决:0

题目描述

# 星际比赛 ## 题目描述 在宇宙冒险者的星际比赛中,各路英雄们纷纷参与,期待着最后的荣耀。 由于他们来自不同的星系,对所有冒险者都不太了解,于是他们纷纷对一些他们熟悉的冒险者的实力进行了评估,即对部分冒险者做了相对排名的**预测**,并将这些预测传达给星际联盟。 比赛结束后,他们向星际联盟询问最后的比赛排名,但星际联盟的工作人员忘记了具体的排名,只记得哪些冒险者的预测是准确的,哪些是错误的。 他们希望知道比赛的排名**可能**是什么。 ## 输入格式 第一行输入两个整数 $n,m$ 。 $n$ 表示参加比赛的冒险者数量, $m$ 表示参与预测成绩的冒险者的数量。冒险者编号从 $0$ 到 $n-1$ 。 接下来 $m$ 行,每行为一个参赛选手的相对排名预测。 每行第一个数 $c$ 表示他预测的冒险者人数,后面跟着 $c$ 个 $0 \sim n-1$ 的不同的数,表示他预测的冒险者相对排名,最后还有一个数, $0$ 表示这个预测是错误的, $1$ 表示这个预测是正确的。 ## 输出格式 第一行输出一个整数 $r$ ,代表有多少种排名的可能。 下面 $r$ 行,每行输出一个 $0 \sim n-1$ 的排列,为某一个**可能**的排名,相邻的数间用空格隔开。 所有排名**按字典**序依次输出。 ## 样例 ### 样例输入 1 ```text 3 2 2 0 1 1 2 1 2 0 ``` ### 样例输出 1 ```text 2 0 2 1 2 0 1 ``` ### 样例输入 2 ```text 3 2 2 0 1 1 2 2 1 0 ``` ### 样例输出 2 ```text 1 0 1 2 ``` ### 样例输入 3 ```text 9 8 3 1 2 3 1 4 1 5 2 6 0 3 3 5 8 0 4 2 7 6 5 0 5 1 8 4 5 2 0 2 4 2 0 2 8 1 0 3 3 2 1 0 ``` ### 样例输出 3 ```text 18486 0 1 2 3 4 6 7 8 5 0 1 2 3 4 6 8 5 7 0 1 2 3 4 6 8 7 5 0 1 2 3 4 7 8 5 6 0 1 2 3 4 8 5 6 7 0 1 2 3 4 8 5 7 6 0 1 2 3 4 8 6 5 7 0 1 2 3 4 8 6 7 5 0 1 2 3 4 8 7 5 6 0 1 2 3 6 4 7 8 5 省略剩余的输出,剩余的输出需要同学自行计算…… ``` ## 说明/提示 样例 $1$ 解释 有 $3$ 名参加比赛的冒险者,他们的编号分别是 $0$ $1$ $2$ ,有 $2$ 名参与预测的冒险者。 第 $1$ 名冒险者预测结果为 $0$ $1$ ,即: $0$ 的排名在 $1$ 的前面,他的预测是正确的。 第 $2$ 名冒险者预测结果为 $1$ $2$ ,即: $1$ 的排名在 $2$ 的前面,他的预测是错误的。 $0$ $1$ $2$ 的所有可能的排名有 $6$ 种,结合预测对 $8$ 种可能的排名分别讨论如下: - $0$ $1$ $2$ ,由于 $1$ 在 $2$ 的前面是错误的,因此该排名不可能。 - $0$ $2$ $1$ ,符合预测的结果。 - $1$ $0$ $2$ ,由于 $0$ 应当在 $1$ 的前面,因此该排名不可能。 - $1$ $2$ $0$ ,由于 $0$ 应当在 $1$ 的前面,因此该排名不可能。 - $2$ $0$ $1$ ,符合预测的结果。 - $2$ $1$ $0$ ,由于 $0$ 应当在 $1$ 的前面,因此该排名不可能。 综上,一共有 $2$ 个可能的排名,分别是: $0$ $2$ $1$ 和 $2$ $0$ $1$ 。 数据规模 对于 $100\%$ 的数据,满足 $1 \le n \le 10, 2 \le c \le n, 1 \le m \le 10$ 。 保证数据合法,**且答案中排名可能数不超过 $20000$** 。 补充说明 对于一个排名序列,一个预测是**正确**的,当且仅当预测的排名的相对顺序是排名序列的一个子序列。 一个预测是**错误**的,当且仅当这个预测只要有两个数的顺序不正确,这个预测就是不正确的。 可能的排列,必须符合所有正确的预测。某个排列只要符合一个错误的预测,该排列就不是可能的排列。 --- **题目来源:** 25年4月-B组(才俊)