深度优先算法
2016-02-02 20:12
218 查看
从N个箱子放n个卡片的问题,理解深度优先算法
int a[99],book[99],n;
void dfs(int step){
inti;
if(step==n+1)
{for(i=1;i<=n;i++)
cout<<a[i]<<"\n";
}
for(i=1;i<=n;i++)
if(book[i]==0)
{
a[step]=i;
book[i]=1;
dfs(step+1);
book[i]=0; 特别注意!!!
}
}
int main(){
cin>>n;
dfs(1);
return0;
}
深度优先搜索的基本模型
Void dfs(int step)
{ 判断边界
尝试每一种可能for(i=1;i<=n;i++)
{
dfs(step+1);
}
int a[99],book[99],n;
void dfs(int step){
inti;
if(step==n+1)
{for(i=1;i<=n;i++)
cout<<a[i]<<"\n";
}
for(i=1;i<=n;i++)
if(book[i]==0)
{
a[step]=i;
book[i]=1;
dfs(step+1);
book[i]=0; 特别注意!!!
}
}
int main(){
cin>>n;
dfs(1);
return0;
}
深度优先搜索的基本模型
Void dfs(int step)
{ 判断边界
尝试每一种可能for(i=1;i<=n;i++)
{
dfs(step+1);
}
相关文章推荐
- python 多线程笔记(3)-- 线程的私有命名空间
- Zabbix实现告警分级
- 什么是javaScript闭包
- 分治、CDQ分治小结(need to be updated)
- 如何将 Debian Linux 中的默认的 Python 版本切换为替代版本
- [Leecode] Maximum Gap
- JavaScript基础笔记集合
- 河南第四届ACM省赛(走迷宫)
- 如何高效率协同工作-。工具
- CF 17B Hierarchy
- HDU 2064 汉诺塔III(递归)
- 桌游开放平台API语言参考
- C++ Primer 笔记(一)cin输入的一些用法和注意事项(未完成)
- 设计模式C++实现:管理者模式
- P28 (**) Sorting a list of lists according to length of sublists.
- P28 (**) Sorting a list of lists according to length of sublists.
- java Annotation好文章
- mmap - 用户空间与内核空间
- jQuery初学(一)——关于如何获取网页中的元素
- 简单的使用进程池