简单深搜---poj1321
惭愧,计划学习图论好久了。到现在还没搞定最基本的深搜,广搜。 不行啊,要加快进度了!!! 吼吼
深搜广搜,图的连通性,最短路径,网络流............啊~好多啊
代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cnt,i,j,n,k,f[12];
char s[12][12];
void DFS(int r,int p)
{
int j;
if(p==0)
{
cnt++;
return ;
}
if(r>=n) return;
for(j=0;j<n;j++)
{
if(!f[j]&&s[r][j]=='#')
{
f[j]=1;
DFS(r+1,p-1);
f[j]=0;
}
}
DFS(r+1,p);
}
int main()
{
while(1)
{
scanf("%d%d",&n,&k);
if(n==-1&&k==-1) break;
for(i=0;i<n;i++)
{
getchar();
for(j=0;j<n;j++)
{
scanf("%c",&s[i][j]);
}
}
memset(f,0,sizeof(f));
cnt=0;
DFS(0,k);
printf("%d\n",cnt);
}
return 0;
}