2 1#..#4 4...#..#..#..#...-1 -1Sample Output21
#include<iostream>#include<cstdio>#include<cstring>using namespace std;char Map[10][10];int vis[10];int n,k,sum;void dfs(int x,int ans){ if(ans == k){ sum++; return ; } for(int i = x;i < n; i++){ for(int j = 0; j < n; j ++){ if(Map[i][j] == '#' && !vis[j]){ vis[j] = 1; dfs(i+1,ans+1); vis[j] = 0; } } }}int main(){ while(~scanf("%d%d",&n,&k) && n != -1 && k != -1){ int i,j; sum = 0; getchar(); for(i = 0; i < n; i ++){ scanf("%s",Map+i); } memset(vis,0,sizeof(vis)); dfs(0,0); PRintf("%d/n",sum); }}
新闻热点
疑难解答