标签:
#include <cstdio> #include <algorithm> #include <iostream> #include <queue> #include <cstring> using namespace std; char data[12][12]; int c,n,k; int visit[12]; int to[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; void dfs(int x,int cnt) { if(cnt==k) { c++;return ; } for(int i=x;i<=n;i++) for(int j=1;j<=n;j++) { if(data[i][j]==‘#‘&&visit[j]==0) { visit[j]=1; dfs(i+1,cnt+1); visit[j]=0; } } } int main() { while(cin>>n>>k) { if(n==-1&&k==-1) break; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>data[i][j]; c=0; dfs(1,0); cout<<c<<endl; } return 0; }
标签:
原文地址:http://www.cnblogs.com/nefu929831238/p/5764843.html