이상한 스위치
면접 대비시간 제한2초메모리 제한1024 MB
각 스위치의 초기 상태와 뒤집는 스위치 목록이 주어질 때, 모든 스위치를 켜는 최소 누름 횟수를 구한다.
문제
스위치는 켜져 있는 상태와 꺼져 있는 상태로 존재한다. 여러분은 꺼져 있는 스위치만 눌러 스위치를 켤 수 있다. 켜져 있는 스위치를 직접 끌 수 없음에 유의하자.
그런데, 회로를 잘못 연결해버린 나머지 어떤 스위치를 직접 켤 때, 해당 스위치가 영향을 주는 다른 스위치들의 상태는 모두 반전된다. 즉, 영향을 받는 스위치는 켜져 있었다면 꺼지고, 꺼져있었다면 켜진다. 영향을 받아 간접적으로 켜지는 스위치는 직접 켜지는 스위치가 아니다.
스위치마다 영향을 주는 스위치의 목록이 주어지고 각 스위치의 초기 상태가 주어질 때, 모든 스위치를 켜기 위해 스위치를 눌러야 하는 최소 횟수를 출력하자.
입력
첫째 줄에 스위치의 개수 이 주어진다.
둘째 줄에 번째 스위치의 초기 상태 이 공백으로 구분되어 주어진다. (이면 꺼진 상태이고, 이면 켜진 상태이다.)
셋째 줄부터 개의 줄에 걸쳐 번째 스위치가 영향을 주는 스위치의 개수 와 목록 이 공백으로 구분되어 주어진다.
출력
모든 스위치를 켜기 위해 스위치를 눌러야 하는 최소 횟수를 출력한다. 모든 스위치를 켤 방법이 없다면, 을 출력한다.
제한
- 또는
- 인 모든 에 대해서, , 를 만족하고, 배열 내의 값은 모두 다르다.
- 입력으로 주어지는 모든 수는 정수이다.