만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

불 끄기

면접 대비

시간 제한1초메모리 제한128 MB

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

보통10점 중 6점

유형
완전 탐색, 비트 연산, 그리디, 구현
정답자
아직 제출이 없습니다

문제

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

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

입력

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

출력

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

예제2

  1. 예제 1

    입력
    #O########
    OOO#######
    #O########
    ####OO####
    ###O##O###
    ####OO####
    ##########
    ########O#
    #######OOO
    ########O#
    
    예상 출력
    4
    
  2. 예제 2

    입력
    ##########
    ##########
    ##########
    ##########
    ##########
    ##########
    ##########
    ##########
    ##########
    ##########
    
    예상 출력
    0