갤러리

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

요약
벽과 빈 공간으로 이루어진 격자에서 빈 칸과 접한 벽면에 겹치지 않게 걸 수 있는 그림의 최대 개수를 구하는 문제입니다.
난이도

보통10점 중 6점

유형
그리디, 행렬, 구현
정답자
아직 제출이 없습니다

문제

갤러리 지도는 M×N개의 정사각형 칸으로 이루어진 격자이다. 각 칸은 벽(X)이거나 빈 공간(.)이다. 벽은 회색, 빈 공간은 흰색으로 생각할 수 있다.

벽에 그림을 걸려고 한다. 그림 하나의 길이는 격자 칸 한 변 길이의 두 배이다. 그림은 빈 공간과 맞닿아 있는 벽면에만 걸 수 있고, 같은 벽면 위에서 그림끼리 겹쳐서는 안 된다. 갤러리 지도가 주어질 때, 걸 수 있는 그림의 최대 개수를 구하시오.

입력

첫째 줄에 갤러리의 세로 길이 M과 가로 길이 N이 주어진다. (1 ≤ M, N ≤ 1,000) 이어지는 M개의 줄에는 길이 N의 문자열이 하나씩 주어진다. 각 문자는 X 또는 .이며, X는 벽을, .은 빈 공간을 뜻한다.

모든 입력에서 첫 행과 마지막 행, 첫 열과 마지막 열은 모두 벽이다.

출력

걸 수 있는 그림의 최대 개수를 출력한다.

예제3

  1. 예제 1

    입력
    3 3
    XXX
    X.X
    XXX
    
    예상 출력
    0
    
  2. 예제 2

    입력
    5 5
    XXXXX
    X...X
    X.XXX
    X.X.X
    XXXXX
    
    예상 출력
    4
    
  3. 예제 3

    입력
    7 10
    XXXXXXXXXX
    X.X.X....X
    XXX.X.XX.X
    XX....XX.X
    X.XX..X..X
    X..XX...XX
    XXXXXXXXXX
    
    예상 출력
    14