만드는 중입니다

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

해변

면접 대비

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

요약
육각형 격자에서 땅과 물이 맞닿은 변의 개수를 세되, 지도 바깥 경계에 있는 변은 제외한다.
난이도

보통10점 중 4점

유형
구현, 행렬, 시뮬레이션, 기하
정답자
아직 제출이 없습니다

문제

단위 정육각형으로 이루어진 지도가 주어질 때 해변의 길이를 구하는 프로그램을 작성하시오.

해변은 정육각형의 변 가운데 한쪽이 물이고 다른 쪽이 땅인 변을 말한다. 변 하나의 길이는 1이다. 지도 바깥은 물로도 땅으로도 보지 않으므로 지도의 테두리에 놓인 변은 해변이 아니다.

지도는 NN개의 행으로 이루어지고 각 행에는 정육각형 MM개가 가로로 나란히 붙어 있다. 위에서부터 짝수 번째 행(2번째, 4번째, ...)은 바로 위 행보다 반 칸 오른쪽으로 밀려 있다. 아래 그림은 두 번째 예제의 지도이며 빨간 변이 해변이다.

입력

첫째 줄에 지도의 세로 크기 NN과 가로 크기 MM이 주어진다. (1≤N,M≤501 \le N, M \le 50)

둘째 줄부터 NN개의 줄에 지도가 한 줄에 한 행씩 주어진다. 각 줄은 길이가 MM인 문자열이며 .은 물, #은 땅이다.

출력

첫째 줄에 해변의 길이를 출력한다.

예제4

  1. 예제 1

    입력
    1 8
    .#...#..
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3 6
    ..#.##
    .##.#.
    #.#...
    
    예상 출력
    19
    
  3. 예제 3

    입력
    2 10
    #...#.....
    ##..#...#.
    
    예상 출력
    15
    
  4. 예제 4

    입력
    4 6
    ....#.
    .#....
    ..#..#
    ####..
    
    예상 출력
    24