POJ1321棋盘问题(DFS)
2018-03-19 17:51
381 查看
#include<iostream> using namespace std; #define maxn 11 char map[maxn][maxn]; int ans=0; int vis[maxn]; int n,k; void dfs(int index,int num){ if(index>=n &&num!=0) return ; if(num>n-index) return ; if(num==0){ ans++; return ; } int i; for(i=0;i<n;i++){ if(map[index][i]=='.') continue; if(!vis[i]){ vis[i]=1; //标记列 dfs(index+1,num-1); //表示这行放棋子 vis[i]=0; } } dfs(index+1,num); //表示这行不放棋子 } int main(){ while(scanf("%d%d",&n,&k)!=EOF){ ans=0; if(n==-1&&k==-1) break; for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>map[i][j]; dfs(0,k); cout<<ans<<endl; } return 0; }
相关文章推荐
- 棋盘问题 (dfs) POJ - 1321
- POJ 1321 棋盘问题 DFS
- POJ1321 棋盘问题(DFS||状压DP)
- poj 1321 棋盘问题 简单dfs
- POJ 1321--棋盘问题【DFS】
- POJ 1321-棋盘问题 简单搜索DFS
- poj1321 棋盘问题 dfs
- poj 1321 棋盘问题 (dfs)
- POJ-1321 棋盘问题(DFS+回溯)
- poj 1321 棋盘问题 DFS+回溯 回溯学习
- 【POJ】1321 - 棋盘问题(dfs)
- POJ 1321 棋盘问题(dfs)
- POJ 1321 棋盘问题(状态压缩DP | DFS)
- POJ训练计划1321_棋盘问题(DFS)
- poj 1321 棋盘问题 - DFS 2251 Dungeon Master - BFS
- POJ 1321 棋盘问题 (DFS)
- POJ 1321 棋盘问题(简单dfs)
- poj 1321 棋盘问题(DFS)
- POJ 1321 棋盘问题(DFS)
- poj 1321棋盘问题(dfs)