#P4906. 小奔关闹钟
小奔关闹钟
题目背景
由于今天是星期一,闹钟准时响了,由于小奔太困了,所以他想关停闹钟。
题目描述
可是,他的闹钟电路太复杂了,有很多个开关,每个开关都连着其他开关,其他开关又连着更多的开关,当且仅当所有开关都关闭时,闹钟才会停止响铃,(初始时默认每个开关都开着的),她该如何是好呢?
请你帮小奔求出最少开关次数,如果无论如何都不能关闭闹钟,请输出‘Change an alarm clock,please!’
输入格式
共有N+1行
第一行一个数N(1≤N≤20),表示有N个开关,从第2行起的第i行表示第i个闹钟开关。
以后N行,每行第一个数为M(0≤M≤N-1),表示第i个闹钟开关的直接关联开关个数。(由直接关联开关所关联的直接关联开关,自然就是第i个闹钟间接关联开关啦,当打开第i个开关时,只有直接关联,间接关联以及第i个开关才会起作用。),之后M个数,表示第i个闹钟直接关联开关的标号。(如果M为0则表示没有任何关联)
输出格式
一个数ans,表示最少按开关次数,如果无法关闭,输出‘Change an alarm clock,please!’
5
4 2 3 4 5
2 1 3
2 1 4
2 1 5
1 1
2
提示
样例1说明:
先关闭5,直接关联会关闭1。1间接关闭2、3、4,但会重新打开5。
此时共关闭开关一次,已关闭1,2,3,4
再打开2,直接关联会打开1和3。1间接关闭2、3、5,重新打开4。3间接关闭1、4。
此时共关闭开关2次,已关闭1,2,3,4,5,彻底关闭闹钟。