해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
당신이 캠퍼스에 있으며 매일 수업을 들으러 가야 한다고 하자. 보다시피, 교실로 서둘러 갈 때 놀랍게도 그곳의 많은 자리가 이미 차 있는 것을 발견하곤 한다. 오늘 당신과 친구들은 수업을 들으러 갔고, 일부 자리가 차 있는 것을 발견했다.
교실에는 좌석이 n개 행으로 배치되어 있고 각 행에는 m개의 좌석이 있다. 따라서 교실은 n × m 행렬로 나타낼 수 있다. 문자 '.'은 빈자리를 나타내고, '*'은 자리가 차 있음을 나타낸다. 같은 행 또는 열에서 연속한 빈자리 k개를 찾아 당신과 친구들을 위해 그 자리들을 배정해야 한다. 자리들을 배정하는 방법의 수를 구하는 것이 과제다. 학생들이 차지하는 위치의 집합이 서로 다르면 두 방법은 서로 다른 것으로 간주한다.
첫 번째 줄에는 세 양의 정수 n,m,k (1 ≤ n, m, k ≤ 2 000)가 주어진다. 여기서 n,m은 교실의 크기를 나타내고, k는 찾아야 하는 연속한 좌석의 수이다.
다음 n개의 각 줄에는 문자 '.' 또는 ''이 m개 주어진다. 이 문자들은 교실을 나타내는 행렬을 이루며, '.'은 빈자리를, ''은 차 있는 자리를 나타낸다.
같은 행 또는 열에서 빈자리 k개를 찾는 방법의 수를 나타내는 하나의 수를 출력한다.
1 2 2
..
1
2 3 2
**.
...
3
3 3 4
.*.
*.*
.*.
0
첫 번째 예제에서는 자리들을 배정하는 방법이 세 가지 있다. 다음 자리들을 선택하여 배정할 수 있다.