POJ-1321

来源:互联网 发布:java中间件框架 编辑:程序博客网 时间:2024/05/10 04:10
#include <iostream>#include <string.h>#include <stdio.h>using namespace std;int visited[10];int visited2[10];int sum=0;int n,k;char a[10][10];void play(int n,int i,int sx,int sy){    if(i>k-1)sum++;    else {        for(int h=sx;h<n;h++)        for(int j=0;j<n;j++){            if(visited[j]==0&&visited2[h]==0&&a[h][j]=='#'){                visited[j]=1;                visited2[h]=1;                play(n,i+1,h,j);                visited[j]=0;                visited2[h]=0;            }        }    }}int main(){   while(scanf("%d%d",&n,&k)!=EOF){    if(n==-1&&k==-1)break;    memset(a,0,sizeof(a));    memset(visited,0,sizeof(visited));    memset(visited2,0,sizeof(visited2));    for(int i=0;i<n;i++){        scanf("%s",&a[i]);    }        sum=0;        play(n,0,0,0);        cout<<sum<<endl;   }    return 0;}

0 0