【深度搜索】还是不是很理解~
2012-01-17 15:49
218 查看
题目地址:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1004&cid=14229&hide=1&problem=ProblemD
#include<iostream>usingnamespacestd;
intmap[30][5];
inta[30];
intm;
intnum;
boolmark[30];
intsum=0;
intcmp(constvoid*a,constvoid*b)
{
return*(int*)a-*(int*)b;
}
voiddfs(intx,intdep)
{
inti;
if(dep==19)//深度为n-1
{
intflag=0;
for(intk=1;k<=3;k++)
{
if(map[a[19]][k]==m)
flag=1;
}
if(flag)
{
printf("%d:",num);
num++;
for(intj=0;j<20;j++)
printf("%d",a[j]);
printf("%d\n",m);
return;
}
elsereturn;
}
for(i=1;i<=3;i++)
if(!mark[map[x][i]])
{
mark[map[x][i]]=1;
a[dep+1]=map[x][i];
dfs(map[x][i],dep+1);
mark[map[x][i]]=0;
}
return;
}
intmain()
{
inti,j;
for(i=1;i<=20;i++)
{
for(j=1;j<=3;j++)
scanf("%d",&map[i][j]);
//qsort(map[i]+1,3,sizeof(map[i][1]),cmp);
}
while(scanf("%d",&m)!=EOF)
{
memset(mark,0,sizeof(mark));
num=1;
if(m==0)break;
mark[m]=1;//初始化
a[0]=m;
dfs(m,0);
}
return0;
}
相关文章推荐
- 深度优先搜索 和问题 简单函数递归 “加 还是不加”
- 搜索中最重要的是理解用户的意图,因此你不是在匹配词语,而是在匹配意思
- 要有多勇敢才敢对回忆念念不忘,还是喜欢流眼泪。学会成长坚强,相互理解而不是责怪。我安静点,我不哭了~
- HDU--杭电--1518--Square--深度优先搜索--这个不是水题了
- elasticsearch核心知识--30.分页搜索以及deep paging性能问题深度理解和es中聚合aggregation的分组可能结果不准确的原因
- 笨笨熊搬家问题深入--迷宫问题--深度搜索--还是填充思想并且打印出路线--递归--结构体数组---编程随笔(4)
- 搜索一个问题 C、C++判断操作系统 是 Linux还是windows 还是Unix【编译器内置宏 探索(不是特别满意)】
- 今天对于图又有了更深的理解,可是还是有问题,那个非递归的深度优先不知道怎么的,好像不能够完全遍历。有点郁闷呀。
- 虽是自己写的代码,但还是不是很理解
- 搜索一个问题 C、C++判断操作系统 是 Linux还是windows 还是Unix【编译器内置宏 探索(不是特别满意)】
- 搜索一个问题 C、C++判断操作系统 是 Linux还是windows 还是Unix【编译器内置宏 探索(不是特别满意)】
- dfs深度优先搜索 1~N 的排列理解dfs,抽象为n个数放n个盒子
- 搜索一个问题 C、C++判断操作系统 是 Linux还是windows 还是Unix【编译器内置宏 探索(不是特别满意)】
- 搜索一个问题 C、C++判断操作系统 是 Linux还是windows 还是Unix【编译器内置宏 探索(不是特别满意)】
- POJ 2286 The Rotation Game 迭代搜索深度 + A* == IDA*
- 最长不降子序列 LIS(Longest Increasing Subsequence) 动态规划与深度搜索
- Beautiful Arrangement--深度搜索--leetcode
- 深度神经网络结构以及Pre-Training的理解
- 【算法研究】搜索算法-深度优先搜索
- 深度理解C语言可变参数列表