dfs模板
2015-08-11 10:29
323 查看
DFS: /* 该DFS 框架以2D 坐标范围为例,来体现DFS 算法的实现思想。 */ #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; const int maxn=100; bool vst[maxn][maxn]; // 访问标记 int map[maxn][maxn]; // 坐标范围 int dir[4][2]={0,1,0,-1,1,0,-1,0}; // 方向向量,(x,y)周围的四个方向 bool CheckEdge(int x,int y) // 边界条件和约束条件的判断 { if(!vst[x][y] && ...) // 满足条件 return 1; else // 与约束条件冲突 return 0; } void dfs(int x,int y) { vst[x][y]=1; // 标记该节点被访问过 if(map[x][y]==G) // 出现目标态G { ...... // 做相应处理 return; } for(int i=0;i<4;i++) { if(CheckEdge(x+dir[i][0],y+dir[i][1])) // 按照规则生成下一个节点 dfs(x+dir[i][0],y+dir[i][1]); } return; // 没有下层搜索节点,回溯 } int main() { ...... return 0; }
相关文章推荐
- 日经春秋 20150811
- 当C++遇到IOS应用开发---LRUCache缓存
- Codeforces Round #315 div2 A--Music 水题可结合数学推导
- 20-02-其他对象API(Runtime类)
- 【poj 2234】Matches Game
- React 创建自定义控件
- 域名与IP对应,解决只能IP访问不能域名访问的问题
- 集成电路中的assert和deassert应该如何翻译?
- N!
- document.body.scrollTop等常见易混淆属性整理
- java学习笔记-------对卡片布局管理器的深入理解
- bfs模板
- How to get file name when user select a file via <input type=“file” />?
- Tomcat类加载器机制(Tomcat源码解析六)
- ZOJ 3541 - The Last Puzzle(区间dp)
- 20-01-其他对象API(System类)
- [IOS]mac以太网连接
- Codeforces Round #315 (Div. 2)569B Inventory(队列)
- 禁掉a链接的几种方法
- Nginx启动错误:error while loading shared libraries: libpcre.so.1