解题思路:
注意事项:
参考代码:
#include <iostream>
using namespace std;
int n,k,ans;
char mp[10][10];
bool vis[10];
void dfs(int x,int p){
if(p==k){
ans++;
return;
}
if(x==n){
return;
}
for(int i=0;i<n;i++){
if(!vis[i]&&mp[x][i]=='#'){
//cout<<"1"<<endl;
vis[i]=true;
dfs(x+1,p+1);
vis[i]=false;
}
//dfs(x+1,p);
//cout<<"1"<<endl;
}
dfs(x+1,p);
}
int main(){
while(1){
cin>>n>>k;
ans=0;
if(n==-1&&k==-1){
break;
}else{
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>mp[i][j];
}
}
dfs(0,0);
cout<<ans<<endl;
}
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:806 |
简单的a+b (C语言代码)浏览:560 |
【计算球体积】 (C语言代码)浏览:1158 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:903 |
printf基础练习2 (C语言代码)浏览:547 |
演讲大赛评分 (C语言代码)浏览:1696 |
Hello, world! (C语言代码)浏览:916 |
陶陶摘苹果2 (C语言代码)浏览:650 |
整除的尾数 (C语言代码)浏览:852 |
神奇的fans (C语言代码)浏览:1124 |