标签:
#include<cstdio>
#include<cstring>
char m[13][13];
int place[13];
using namespace std;
int ans,cmn;//ans放棋子方案数,cmn你放棋子数
int n,k;
void dfs(int i)
{
if(k==cmn)
{
ans++;
return ;
}
if(i>=n)
return ;
for(int j=0;j<n;j++)
{
if(!place[j]&&m[i][j]=='#')
{
place[j]=1;
cmn++;
dfs(i+1);
place[j]=0;
cmn--;
}
}dfs(i+1);
}
int main()
{
while(scanf("%d%d",&n,&k)&&n!=-1&&k!=-1)
{
//getchar();
for(int i=0;i<n;i++)
{
scanf("%s",&m[i]);
//getchar();
}
memset(place,0,sizeof(place));
cmn=0;
ans=0;
dfs(0);
printf("%d\n",ans);
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/a1967919189/article/details/47130303