POJ1321(DFS)
2018-03-12 20:40
204 查看
题目链接
中文题。
便利每一行,分别有放和不放棋子两种情况,然后记录有哪些列放了棋子。然后DFS就好了。
中文题。
便利每一行,分别有放和不放棋子两种情况,然后记录有哪些列放了棋子。然后DFS就好了。
#include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; char s[9][9]; int n,m,ans; int vis[9]; void dfs(int h,int num) { if(h > n)return; if(num == m) { ans++; return; } for(int i = 0; i < n; i++) { if(s[h][i] == '#' && !vis[i]) { //printf("h = %d i = %d\n",h,i); vis[i] = 1; dfs(h + 1,num + 1); vis[i] = 0; } } dfs(h + 1,num); } int main() { while(~scanf("%d %d",&n,&m)) { if(n == m && n == -1) break; memset(s,0,sizeof s); memset(vis,0,sizeof vis); ans = 0; for (int i = 0; i < n; i++) scanf("%s",s[i]); dfs(0,0); printf("%d\n",ans); } }
相关文章推荐
- 岁月如初dfs poj1321 (类八皇后问题)
- poj1321 棋盘问题(DFS)
- DFS深度优先搜索(2)--poj1321(棋盘问题 经典DFS)
- poj1321 DFS
- poj1321 棋盘问题 DFS
- poj1321 棋盘问题(深搜dfs)
- poj1321 dfs
- poj1321(dfs棋盘问题)
- 【图DFS】poj1321
- POJ1321 棋盘问题(DFS)
- 【dfs】POJ1321 棋盘问题
- poj1321 棋盘问题(DFS)
- POJ1321 棋盘问题 —— DFS回溯
- 【POJ1321】棋盘问题(简单dfs)
- dfs棋盘问题,皇后 POJ1321
- 【搜索-DFS】POJ1321-棋盘问题
- poj1321_dfs_棋盘问题
- [DFS]poj1321
- poj1321棋盘问题(dfs)
- poj1321 棋盘问题 dfs