深度优先搜索
来源:互联网 发布:零度无人机软件 编辑:程序博客网 时间:2024/05/17 23:35
<pre class="html" name="code">#include<stdio.h>int a[10],book[10],n;//c语言的全局变量在没有赋值以前默认值为0,所以book数组无需再次赋初始值void dfs(int step) //step表示站在第几个盒子面前{ int i; if(step==n+1) //如果站在第n+1个盒子面前,说明前n个盒子已经放好扑克牌 { //输出一种排列,1~n盒子中的扑克牌的编号 for(i=1;i<=n;i++) printf("%d ",a[i]); printf("\n"); return;//返回之前的一步(最近一次调用dfs函数的地方) } for(i=1;i<=n;i++) { //判断扑克牌i是否在手上 if(book[i]==0) //book[i]=0 表示i号扑克牌在手上 { //开始尝试使用扑克牌i a[step]=i; //将i号扑克牌放入第step个盒子中 book[i]=1; //将book[i]设为1,表示扑克牌i已经不在手上 //第step个盒子已经放好扑克牌,接下来需要走到下一个盒子面前 dfs(step+1);//递归调用 book[i]=0;// 将刚才调用的扑克牌收回,才能进行下一步尝试 } } return;}int main(){ scanf("%d",&n); dfs(1); getchar(); getchar(); return 0;}
运行结果:
0 0
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索 DFS
- 深度优先搜索遍历
- 深度优先搜索 DFS
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- hdoj1015Safecracker(深度优先搜索)
- [AI]深度优先搜索
- 深度优先搜索算法
- DFS 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- 图解深度优先搜索
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- Spark RDD编程(Python和Scala版本)
- java中的抽象类和接口
- 事务管理应用配置
- 文件系统对页高速缓存的操作
- SharedPreferences存储及应用
- 深度优先搜索
- Android listview addHeaderView 和 addFooterView 详解
- Android开发者必知的开源库
- 加载 MonoBehaviour 类时, public属性因为序列化所产生的性能开销问题
- 事务管理两种方式
- 面/笔试问题集锦
- 三个事务接口
- mysql的环境配置及遇到的问题。f
- 游泳池造价问题