电视调试
题目描述
森林运动会的开幕夜终于到来了!乐柠兔和小伙伴早早地等候在电视机前,一起准备观看隆重的“森林开幕式”。
但就在此时,负责调试电视的乐柠兔遇到了大麻烦——这台老旧的电视机,没有遥控器,而且按钮的逻辑十分奇怪。
每当乐柠兔按下一个按钮,它就会被按下工作,而有些其他按钮则会自动弹起释放。更糟的是,有的按钮已经老化,按下它不会影响某些按钮的状态。
经过一番耐心研究,乐柠兔终于记录下每个按钮的“影响规则”。现在她只需要让 第 3 个按钮正常工作,其他按钮全部释放。
请你帮她计算——
从当前电视状态开始,最少要按几次按钮,才能只让第 3 个按钮亮起?
输入格式
- 第一行:一个整数
N
,表示电视机上按钮的数量。 - 第二行:
N
个数字(0 或 1),表示每个按钮的当前状态:0
表示按钮处于释放状态;1
表示按钮被按下。
- 接下来
N
行:依次描述按下第 i 个按钮的效果:- 每行以一个整数
K
开头,表示会被释放的按钮数量; - 后面跟着
K
个升序数字,表示这些会被释放的按钮编号(从 1 开始)。 - 按钮不会释放自己,也可能
K=0
(即按下该按钮不释放任何按钮)。
- 每行以一个整数
保证输入数据一定存在可行解。
输出格式
输出一个整数,表示从当前状态到目标状态(仅第 3 个按钮被按下)所需的最少按键次数。
样例输入
3
0 1 1
2 2 3
1 3
2 1 2
样例输出
2
数据范围
限制 | 条件 |
---|---|
30% 数据 | |
100% 数据 |