标签:
Description
Input
Output
Sample Input
2 1 #. .# 4 4 ...# ..#. .#.. #... -1 -1
Sample Output
2 1
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n, k, ans;
bool visit[10];
char maps[10][10];
void DFS(int z, int t);
int main()
{
int i, j;
while(cin >> n >> k, /*n!=-1 || k!=-1*/!(n==-1&&k==-1))
{
for(i=0; i<n; i++)
{
getchar();
for(j=0; j<n; j++)
cin >> maps[i][j];
}
memset(visit, 0, sizeof(visit));
ans=0;
DFS(0, 0);
cout << ans << endl;
}
return 0;
}
void DFS(int z, int t)
{
if(t==k)
{
ans++;
return;
}
if(z>=n)
return;
for(int i=0; i<n; i++)
{
if(!visit[i]&&maps[i][z]==‘#‘)
{
visit[i]=true;
DFS(z+1, t+1);
visit[i]=false;
}
}
DFS(z+1, t);
}
标签:
原文地址:http://www.cnblogs.com/wazqWAZQ1/p/4463672.html