시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 1024 MB | 270 | 78 | 57 | 27.536% |
스위치는 켜져 있는 상태와 꺼져 있는 상태로 존재한다. 여러분은 꺼져 있는 스위치만 눌러 스위치를 켤 수 있다. 켜져 있는 스위치를 직접 끌 수 없음에 유의하자.
그런데, 회로를 잘못 연결해버린 나머지 어떤 스위치를 직접 켤 때, 해당 스위치가 영향을 주는 다른 스위치들의 상태는 모두 반전된다. 즉, 영향을 받는 스위치는 켜져 있었다면 꺼지고, 꺼져있었다면 켜진다. 영향을 받아 간접적으로 켜지는 스위치는 직접 켜지는 스위치가 아니다.
스위치마다 영향을 주는 스위치의 목록이 주어지고 각 스위치의 초기 상태가 주어질 때, 모든 스위치를 켜기 위해 스위치를 눌러야 하는 최소 횟수를 출력하자.
첫째 줄에 스위치의 개수 $N$이 주어진다.
둘째 줄에 $i$번째 스위치의 초기 상태 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다. ($A_i=0$이면 꺼진 상태이고, $A_i=1$이면 켜진 상태이다.)
셋째 줄부터 $N$개의 줄에 걸쳐 $i$번째 스위치가 영향을 주는 스위치의 개수 $C_i$와 목록 $B_{i,1}, B_{i,2}, \cdots, B_{i,C_i}$이 공백으로 구분되어 주어진다.
모든 스위치를 켜기 위해 스위치를 눌러야 하는 최소 횟수를 출력한다. 모든 스위치를 켤 방법이 없다면, $-1$을 출력한다.
5 0 0 0 0 0 3 2 4 5 0 0 1 5 0
2
1번 스위치가 2, 4, 5번 스위치에 영향을 주고, 4번 스위치가 5번 스위치에 영향을 준다.
1번 스위치를 직접 켤 때, 2, 4, 5번 스위치의 상태가 반전되면서, 1, 2, 4, 5번 스위치가 모두 켜진다. 이때, 4번 스위치는 직접 켠 것이 아니기 때문에, 5번 스위치의 상태는 변경되지 않는다.
1번 스위치를 누르면, 스위치의 상태가 1 1 0 1 1
로 변경된다.
그리고, 3번 스위치를 누르면 두 번 만에 모든 스위치를 켤 수 있다.
3 1 0 0 2 2 3 1 1 2 1 2
-1
모든 스위치를 켜는 방법이 존재하지 않으므로, 답은 $-1$이다.
3 1 1 1 1 3 2 1 3 0
0
이미 모든 스위치가 켜져 있기 때문에, 답은 $0$이다.
High School > 동래고등학교 > 2022 동래고등학교 정보과학 문제해결 대회 E번