시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB314723723.270%

문제

크기가 N×M인 직사각형 모양의 방이 있고, 방은 1×1크기의 단위 정사각형으로 나누어져 있다. '.'는 빈 칸, '#'는 벽, '*'는 광원을 의미한다. 방에 광원은 하나만 있다. 방의 어떤 점과 광원을 일직선으로 이었을 때, 벽에 의해서 가로막히지 않는다면, 그곳에는 빛이 도달할 수 있다. 그 외의 빈 공간과 벽은 모두 그림자이다. 방의 정보가 주어졌을 때, 그림자의 넓이를 구해보자.

예를 들어, 다음과 같이 생긴 방을 보자.

벽이 차지하는 넓이는 5, 빛이 도달하지 못하는 빈 공간의 넓이는 8.5이기 때문에, 이 경우 그림자의 넓이는 13.5이다.

입력

첫째 줄에 N과 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 방의 모양이 주어진다. ‘.’은 빈칸, ‘#’은 벽, ‘*’은 광원이다.

출력

첫째 줄에 문제의 정답을 출력한다. 절대/상대 오차는 10-9까지 허용한다.

예제 입력 1

5 6
.*#...
......
.#...#
.....#
.....#

예제 출력 1

13.5

예제 입력 2

3 7
.#....*
##.....
#......

예제 출력 2

1.166666666666666

예제 입력 3

6 10
..........
..........
..........
###..#####
..........
*.........

예제 출력 3

29.27777777777778

예제 입력 4

6 11
...........
...........
......#....
........#..
..........#
..........*

예제 출력 4

25.43333333333333

예제 입력 5

1 1
*

예제 출력 5

0.0

출처