poj 1321:棋盘问题
2015-08-03 16:51
357 查看
dfs的问题
需要注意的是在dfs的时候某个位置可以不放旗子
直接进行下一步dfs
需要注意的是在dfs的时候某个位置可以不放旗子
直接进行下一步dfs
#include <iostream> #include <cstdio> #include <cstring> int x[10]; int tot,n,lol,sum; char m[10][10]; void dfs(int row,int lol) { int i; if(lol==tot) { sum++; return; } if(row>=n) return; for(i=0;i<n;i++) { if(m[row][i]=='#'&&x[i]==0) { x[i]=1; // lol++; dfs(row+1,lol+1); x[i]=0; } } dfs(row+1,lol); } int main() { int i; while(scanf("%d%d",&n,&tot)!=EOF) { if(n==-1&&tot==-1) break; for(i=0;i<n;i++) scanf("%s",m[i]); memset(x,0,sizeof(x)); sum=0; dfs(0,0); printf("%d\n",sum); } return 0; }
相关文章推荐
- oracle 创建用户
- 数据List刷新UI的Items显示(比如服务器给客户端刷新好友列表) 方法(1)
- CSS3实现倒计时
- WebService
- 在serviceImpl里使用自身的方法
- Selenium2学习-030-WebUI自动化实战实例-028-获取元素位置及大小
- 智慧北京3
- 读Spring的源代码七:spring.handlers的加载过程
- Android自定义控件:如何使用自定义的XML属性
- 怎样去掉a标签的蓝框
- python 操作文件和目录
- 笔记
- 内存溢出--java.lang.OutOfMemoryError: PermGen space
- Linux 文件相关编程
- 在windows中安装Python
- 刚开始学:C语言 查找 顺序查找
- 封装网络请求
- Scala 深入浅出实战经典 第47讲:Scala多重界定代码实战及其在Spark中的应用
- 结构体指针变量与结构体成员指针变量
- 在linux中如何做http YUM