POJ 1321
Posted huluxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 1321相关的知识,希望对你有一定的参考价值。
按照一行一行来枚举
1 #include <cstdio> 2 #include <cmath> 3 #include <cstring> 4 #include <algorithm> 5 #include <queue> 6 #include <stack> 7 #include <vector> 8 #include <iomanip> 9 using namespace std; 10 char a[15][15]; 11 int n,k; 12 int h[15],sum=0; 13 void dfs(int x,int y) 14 { 15 if(y==k) 16 { 17 sum++; 18 return; 19 } 20 if(x>=n) 21 return; 22 for(int i=0;i<n;i++) 23 { 24 if(a[x][i]==‘#‘&&h[i]==0) 25 { 26 h[i]=1; 27 dfs(x+1,y+1); 28 h[i]=0; 29 } 30 } 31 dfs(x+1,y); 32 return; 33 } 34 int main(int argc, char *argv[]) 35 { 36 while(scanf("%d%d",&n,&k)!=EOF) 37 { 38 if(n==-1&&k==-1) 39 break; 40 for(int i=0;i<n;i++) 41 { 42 getchar(); 43 scanf("%s",a[i]); 44 } 45 memset(h,0,sizeof(h)); 46 sum=0; 47 dfs(0,0); 48 printf("%d ",sum); 49 50 } 51 return 0; 52 }
以上是关于POJ 1321的主要内容,如果未能解决你的问题,请参考以下文章