불 끄기

10x10 격자에 켜진 전구와 꺼진 전구가 주어질 때, 모든 전구를 끄는 최소 스위치 누름 횟수를 구한다.

보통6완전 탐색비트 연산그리디구현면접 대비아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

전구 100개가 10×1010 \times 10 격자로 놓여 있다. 어떤 전구의 스위치를 누르면 그 전구와 위, 아래, 왼쪽, 오른쪽으로 맞닿은 전구의 상태가 함께 바뀐다. 켜진 전구는 꺼지고, 꺼진 전구는 켜진다. 격자 밖은 아무 영향도 받지 않는다.

전구 100개의 처음 상태가 주어질 때, 모든 전구를 끄려면 스위치를 최소 몇 번 눌러야 하는지 구하라.

입력

10줄에 걸쳐 각 줄에 10글자가 주어진다. #은 꺼진 전구, O(대문자 알파벳 오)는 켜진 전구를 뜻한다. 입력에는 #O 말고 다른 문자가 나오지 않는다.

출력

모든 전구를 끄기 위해 눌러야 하는 스위치의 최소 개수를 한 줄에 출력한다. 모든 전구를 끌 수 없으면 -1을 출력한다.