아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

경로 게임

면접 대비

시간 제한2초메모리 제한512 MB

요약
흰색 경로가 하나 이상 있는 2행 M열 격자에서, 좌우를 잇는 흰색 경로를 남겨 두고 검게 칠할 수 있는 흰 칸의 최대 개수를 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 그래프, BFS, 구현
정답자
아직 제출이 없습니다

문제

현정이는 경로 게임을 한다.

게임판은 정사각형 칸으로 이루어진 직사각형 격자다. 행은 항상 2개이고, 열은 MM개다. 각 칸은 검정색이거나 하얀색이다.

왼쪽-오른쪽 경로는 가장 왼쪽 열의 칸에서 시작해 가장 오른쪽 열의 칸에서 끝나는 칸의 나열이다. 경로에 놓인 칸은 모두 하얀색이어야 하고, 경로에서 연속한 두 칸은 변을 맞대고 인접해야 한다.

하얀색 칸 몇 개를 검정색으로 바꿔도 왼쪽-오른쪽 경로가 남아 있을 수 있다. 왼쪽-오른쪽 경로가 여전히 존재하도록 검정색으로 바꿀 수 있는 하얀색 칸의 최대 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 열의 개수 MM이 주어진다. MM은 양의 정수이고 M≤50M \le 50이다.

다음 두 줄에 게임판의 상태가 한 줄에 MM개의 문자로 주어진다. .는 하얀색 칸, #는 검정색 칸이다.

왼쪽-오른쪽 경로가 존재하는 게임판만 입력으로 주어진다.

출력

첫째 줄에 검정색으로 바꿀 수 있는 하얀색 칸의 최대 개수를 출력한다.

예제2

  1. 예제 1

    입력
    5
    #....
    ...#.
    
    예상 출력
    2
    
  2. 예제 2

    입력
    1
    #
    .
    
    예상 출력
    0