2815: 复杂的按钮
内存限制:512 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:4
解决:2
题目描述
小k在遗迹探险时遇到了n个按钮,刚开始所有按钮都处于开状态,小k的经验告诉他把所有按钮都关上会有“好事”发生,可是有些按钮按下时会让其他一些已经闭合的按钮弹开。经过研究,每个按钮都对应着一个固定的弹开集合,这个按钮按下时,弹开集合中所有的按钮都会变为开状态。现在小k想知道是否能让所有的按钮变为闭状态。如果能,打印最少步数以及方案。否则,打@solution。
输入
第一行一个整数n,表示n个按钮
接下来n行,表示编号为l到n个按钮 的弹开集合
格式为mi,B1B2 B3…Bmi。
表示编号为i的按钮按下,会让编号为B1B2 B3…Bmi 的按钮弹开(注:其中不会出现重复)
输出
如果无解,输出"no solution".
否则,第一行输出最少步数ans,第二行输出用空格分开的ans个数,表示按顺序按下 编号为这些数的按钮就可以解决。
如果有多种方案,输出字典序最小的方案。
样例输入 复制
6
2 2 3
0
2 4 5
0
0
0
样例输出 复制
6
1 2 3 4 5 6
提示
1≤n≤30000
令M=m1+m2+…+mn
0≤M≤1000000