페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2452

그림자의 영역(shadow) 1s - MB

문제

직사각형의 형태의 방의 구조가 N행에 길이 M의 문자열로 주어지며, 이는 방의 구조가 N행 M열로 이뤄짐을 뜻한다. 각 문자는 1 x 1 크기의 정사각형 형태의 영역을 뜻한다. '.' 문자는 비어있는 영역을 뜻하며, '#'는 기둥이 바닥부터 천장까지 박혀있고, 해당 역이 모두 기둥으로 채워짐을 뜻한다. 그리고 '*'는 전등이 위치한 영역이다. 방에는 전등이 정확히 한개 존재하며, 전등은 해당 영역의 가운데에 위치해있다.

전등에에서 비어있는 영역의 임의의 점사이에 직선을 그었을 때 어떠한 기둥과 겹치지 않을 경우 전등의 빛이 해당 위치까지 비춰지게 되며, 그렇지 않을 경우 어두워지게 된다.

방의 구조가 주어졌을 때, 전등의 빛이 비춰지지 않은 영역의 넓이를 구하는 프로그램을 작성하라. 기둥이 있는 영역 역시 빛이 비춰지지 않은 영역으로 간주된다.

다음과 같이 방의 구조가 주어졌다고 하자.

.*#... ...... .#...# .....# .....#

위의 경우에는 기둥이 설치된 영역의 넓이는 5이고, 비어있는 영역에서 넓이 8.5의 영역이 빛이 비춰지지 않기 때문에 답이 13.5가 된다.

위의 입력에 대한 구조와 빛이 비춰지는 결과를 그림으로 나타내면 아래와 같다.

 


입력

입력의 첫번째 줄에는 방의 구조의 행과 열을 뜻하는 N과 M이 입력된다. N과 M은 1이상 50이하의 정수다.

그 다음줄에는 N개줄에 길이 M의 문자열로 입력된다.


출력

입력에 대해 빛이 비춰지지 않는 영역의 넓이를 소수점 6번째 자리에서 반올림하여 출력한다.


예제

5 6

.*#...
......
.#...#
.....#
.....#
13.50000

로그인해야 코드를 작성할 수 있어요.