만드는 중입니다

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

내진 설계

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

요약
격자에서 진원으로부터 본진이 2칸, 여진이 1칸씩 퍼질 때 무너지는 건물 수와 무너지지 않는 건물 수를 구합니다.
난이도

보통10점 중 4점

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

문제

오늘 새벽, 갑자기 규모 5.0 지진이 발생했다. 지진이 발생한 진원지는 N×MN \times M 격자 모양의 지역 중 한 곳이다. 진원지에서 발생한 지진을 본진, 건물이 무너질 때 발생하는 약한 지진을 여진이라고 한다. 본진은 진원지를 기준으로 상하좌우 각 방향으로 22칸까지 뻗어나가며, 여진은 상하좌우로 11칸까지 뻗어나간다. 본진과 여진은 건물에 영향을 준다. 내진 설계가 되어 있지 않은 건물은 지진이 도달한 즉시 무너지지만, 내진 설계가 되어 있는 건물은 지진이 22번 도달하면 무너진다. 본진과 여진이 뻗어나가는 도중 지진 방파제를 만나거나 격자 모양의 지역 밖으로 나가면 더 이상 뻗어나가지 않는다. 지진의 이동 과정은 아래 그림과 같다.

(1)(2)
(3)(4)

입력

첫째 줄에 정수 NN(2≤N≤1 0002 \leq N \leq 1\,000)과 MM(2≤M≤1 0002 \leq M \leq 1\,000)이 공백으로 구분되어 주어진다.

둘째 줄부터 NN개의 줄에 걸쳐 길이 MM의 문자열이 주어진다. 문자열을 이루는 문자는 아래 5종류이며, 진원지는 1개만 주어진다.

  • @: 진원지
  • .: 일반 도로
  • *: 내진 설계가 되어 있지 않은 건물
  • #: 내진 설계가 되어 있는 건물
  • |: 방파제

출력

무너진 건물의 개수와 무너지지 않은 건물의 개수를 공백으로 구분하여 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    5 6
    *.*...
    ..||..
    ..@*|*
    .*.*..
    ..*##.
    
    예상 출력
    4 5
    
  2. 예제 2

    입력
    7 9
    ...#...#.
    .*.*..*..
    ...*..#..
    ...**.*..
    .*..*.@..
    .#...**..
    ..#.#..*.
    
    예상 출력
    10 8