POJ 1321 棋盘问题(深搜)
来源:互联网 发布:matlab编程题 编辑:程序博客网 时间:2024/05/16 09:37
题目链接:
http://poj.org/problem?id=1321
解题思路:
思路在代码里写的很清楚了。。。
AC代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int n,m;char node[10][10];int vis[10];int ans;void dfs(int row,int sum){ if(sum == m){ ans++; return; } if(row > n) return; for(int j = 1; j <= n; j++){ if(node[row][j] == '#' && !vis[j]){ vis[j] = 1; dfs(row+1,sum+1); vis[j] = 0; } } dfs(row+1,sum); //这步很关键,想上去了,这题就成了水题,想不上去的话。。。 //当k<n时,row在等于n之前就可能已经把全部棋子放好 //又由于当全部棋子都放好后的某个棋盘状态已经在前面循环时记录了 //因此为了处理多余行,令当前位置先不放棋子,搜索在下一行放棋子的情况}int main(){ while(~scanf("%d%d",&n,&m)){ if(n+m < 0) break; for(int i = 1; i <= n; i++) scanf("%s",node[i]+1); ans = 0; memset(vis,0,sizeof(vis)); dfs(1,0); printf("%d\n",ans); } return 0;}
0 0
- POJ 1321 棋盘问题(棋盘DFS)
- POJ 1321 棋盘问题 ( 深搜)
- POJ 1321----棋盘问题(深搜)
- POJ 1321 棋盘问题(深搜)
- POJ-1321 棋盘问题(深搜)
- POJ:1321 棋盘问题(深搜DFS)
- POJ 1321 棋盘问题(dfs深搜)
- poj 1321 棋盘问题(深搜)
- poj-1321-棋盘问题(深搜)
- poj 1321 棋盘问题(深搜)
- POJ 1321 深搜 棋盘问题
- POJ 1321(棋盘问题)
- 棋盘问题(POJ 1321)
- POJ-1321-(棋盘问题)
- 棋盘问题(POJ-1321)
- POJ-1321 棋盘问题 解题报告(搜索) 棋盘问题
- POJ 1321 棋盘问题
- poj 1321 棋盘问题
- Feel Good(单调栈(比之前更加完善的模板))
- 安卓开发笔记二——软键盘弹出不遮挡布局的策略
- 求二进制数中1的个数
- 求某正整数重新打乱后最大数与最小数的差值
- 【LeetCode】(73)Set Matrix Zeroes(Medium)
- POJ 1321 棋盘问题(深搜)
- Java技术资料
- [LeetCode] Search a 2D Matrix(二分查找)
- Part1. OSGi的优势和可能遇到的问题
- C# 之 FTP服务器中文件上传与下载(二)
- [GDOI模拟2015.08.18]解密
- C++ Primer 5e chapter 14.1
- java实现ArrayList LinkedList 和迭代器
- C/C++头文件注释