DFS POJ 1321 棋盘问题
2015-08-02 13:08
239 查看
题目传送门
/* DFS:因为一行或一列都只放一个,可以枚举从哪一行开始放,DFS放棋子,同一列只能有一个 */ #include <cstdio> #include <algorithm> #include <cstring> using namespace std; char maze[10][10]; bool vis[10]; int n, k, ans; void DFS(int x, int num) { for (int i=1; i<=n; ++i) { if (maze[x][i] == '#' && !vis[i]) { if (num == 1) ans++; else { vis[i] = true; for (int j=x+1; j<=n-num+2; ++j) { DFS (j, num-1); } vis[i] = false; } } } } int main(void) { //POJ 1321 棋盘问题 while (scanf ("%d%d", &n, &k) == 2) { if (n == -1 && k == -1) break; for (int i=1; i<=n; ++i) scanf ("%s", maze[i] + 1); memset (vis, false, sizeof (vis)); ans = 0; for (int i=1; i<=n-k+1; ++i) { DFS (i, k); } printf ("%d\n", ans); } return 0; }
相关文章推荐
- 写在工作三个月后
- 百度数据挖掘实习工程师一、二现场面试(深圳)
- poj 3685 二分套二分
- 对 iOS 多任务的误解 [多任务原理]
- 阿里巴巴电话面试2面总结_数据挖掘工程师(天猫事业部)
- 百度NLP电面总结(数据挖掘)
- 多线程程序设计学习(12)Thread-soecific storage pattern
- 杭电2078复习时间
- maven 使用myeclipse建立maven项目
- springmvc 上传图片文件和创建图片虚拟路径读取图片
- Spark工作机制-应用执行机制
- Java读取excel工资单发送邮件
- IIS-IIS服务器,发布网站:出错版本问…
- 2.DataGridView 几个基本操作
- 1.数据操作类 SqlDBhelper
- 18.Android 程序退出,关闭所有的a…
- 17.GridView宫格的实现及其显示其…
- 16.GridView宫格的实现及其显示其…
- 2.JASP_DOM解析xml基本思路总结
- 1.jsp+servlet+mysql建站基本思路…