빨강과 검정

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

요약
작은 격자에서 시작 타일로부터 상하좌우로 이동해 도달할 수 있는 검은 타일의 수를 센다.
난이도

쉬움10점 중 3점

유형
DFS, 그래프, 행렬
정답자
아직 제출이 없습니다

문제

정사각형 타일로 덮인 직사각형 방이 있습니다. 각 타일은 빨간색 또는 검은색으로 칠해져 있습니다. 한 사람이 검은색 타일 위에 서 있습니다. 그는 현재 서 있는 타일에서 상하좌우로 인접한 네 타일 중 하나로 이동할 수 있지만, 빨간색 타일로는 이동할 수 없고 오직 검은색 타일로만 이동할 수 있습니다.

이 사람이 위와 같은 이동을 반복하여 도달할 수 있는 검은색 타일의 개수를 세는 프로그램을 작성하세요.

입력

입력은 여러 개의 데이터 세트로 이루어집니다. 각 데이터 세트는 두 양의 정수 WW와 HH가 주어지는 줄로 시작합니다. WW와 HH는 각각 xx축과 yy축 방향의 타일 개수이며, 둘 다 2020 이하입니다.

그 다음 HH개의 줄에는 각각 WW개의 문자가 주어지며, 각 문자는 다음과 같이 타일의 색을 나타냅니다.

  • . — 검은색 타일
  • # — 빨간색 타일
  • @ — 검은색 타일 위에 서 있는 사람 (각 데이터 세트에 정확히 한 번 등장)

입력의 끝은 두 개의 00으로만 이루어진 줄로 표시됩니다.

출력

각 데이터 세트마다, 사람이 처음 서 있던 타일에서 도달할 수 있는 타일의 개수(자기 자신 포함)를 한 줄에 출력하세요.

예제1

  1. 예제 1

    입력
    6 9
    ....#.
    .....#
    ......
    ......
    ......
    ......
    ......
    #@...#
    .#..#.
    11 9
    .#.........
    .#.#######.
    .#.#.....#.
    .#.#.###.#.
    .#.#..@#.#.
    .#.#####.#.
    .#.......#.
    .#########.
    ...........
    11 6
    ..#..#..#..
    ..#..#..#..
    ..#..#..###
    ..#..#..#@.
    ..#..#..#..
    ..#..#..#..
    7 7
    ..#.#..
    ..#.#..
    ###.###
    ...@...
    ###.###
    ..#.#..
    ..#.#..
    0 0
    
    예상 출력
    45
    59
    6
    13