Informatica Online Judge

  휴식공간 [1832 / 0728]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 19   Total Tried : 8


The Champion of this Problem (C++) : gs17067 - 0ms / 160byte
My Best Submission (C++) : N/A

[JOI 16/17 예선]

Background

세계적인 프로그래밍 대회가 GS국에서 열리게 되어 대회장을 꾸미고 있다.

이 대회장은 세로로 $n$칸 가로로 $m$칸의 격자형태로 구성된다.

그 중 몇 개의 칸은 대회 운영을 위한 기기가 설치된다.

이 대회에는 선수들이 대회중에 휴식을 하기 위해, 간식이나 마실 것 등을 먹을 수 있는 휴식공간이 1개 설치되어야 한다.

휴식 공간은 가로 또는 세로로 $d$칸 이어야 한다. (1*d 또는 d*1)

단, 운영용 기기가 설치된 위치는 휴식공간으로 사용할 수 없다.

대회장에 휴식공간을 설치할 수 있는 방법이 몇 가지나 되는지 구하는 프로그램을 작성하시오.

Input

첫 번째 줄에는 3개의 정수 $n$, $m$, $d$가 공백으로 구분되어 입력된다.

두 번째 줄부터 $n$줄에 걸쳐서 각각의 $m$개의 문자열이 입력된다.

각 문자열의 $i$번째 문자는 "#"아니면 "."으로 입력되며, "#"은 대회 운영용 기기가 설치된 위치를 의미하고, "."는 휴식공간이 될 수 있는 위치를 의미한다.

[입력값의 정의역]

$1 ≦ N ≦ 100$
$1 ≦ M ≦ 100$
$2 ≦ D ≦ 100$

Output

휴식공간을 설치할 수 있는 경우의 수를 출력한다.

IO Example

입력
3 5 2
...#.
#...#
....#

출력
12

입력2
4 7 5
.#.....
.....##
.......
#......

출력2
7

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]