#include <iostream>
#include <cstdio>
using namespace std;
const int maxn=10001;
int R,ans;
int C,K;
char X[maxn][maxn];
void dfs(int ar,int x,int y){
if(ar==K){
ans++;
}else{
//右侧
if(x+1<=R&&X[x+1][y]=='.')
dfs(ar+1,x+1,y);
//下
if(y-1>=0&&X[x][y-1]=='.')
dfs(ar+1,x,y-1);
}
}
int main(){
scanf("%d%d%d",&R,&C,&K);
for(int i=0;i<R;i++){
for(int j=0;j<C;j++){
cin >> X[i][j];
}
}
for(int i=0;i<R;i++){
for(int j=0;j<C;j++){
if(X[i][j]=='.')
dfs(0,i,j);
}
}
printf("%d",ans);
//system("pause");
return 0;
}
样例:
输入:
5 5 2
.###.
##.#.
..#..
#..#.
#.###
输出:
8
但我的输出是5