![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Implicit Graph Traversal
文章平均质量分 81
黯淡蓝点
这个作者很懒,什么都没留下…
展开
-
UVA - 10603 - Fill
/*白书上有讲解,实现的时候注意细节地方的处理。 倒水的代码是重复的。隐式图的BFS应用。 题意是输出到达d或最接近d的值d'时的总倒水量以及d或d' 注意用vis数组记录已经访问过的状态,由于是BFS搜索,所以每个状态 记录的都是其最小倒水量*/ #include #include #define ATOB 1 #define ATOC 2 #define BTOA 3 #define BTOC原创 2012-09-18 22:23:55 · 324 阅读 · 0 评论 -
UVA - 321 - The New Villa
题意:从客厅走到卧室,到达卧室后,除卧室之外的灯全关。还有一点就是走到哪个房间,那个房间的灯必须亮着。 思路:1.BFS输出距离最短的,每次只记录一个状态,类似于穷举。 2.开灯算一步。关灯算一步。从一个房间走向另一个房间算一步。 3.从客厅开始。 用当前位置和灯的状态HASH判重即可。 注意只有一个房间的情况,真的是太坑了,W原创 2013-03-07 21:17:15 · 420 阅读 · 0 评论 -
UVA - 704 - Colour Hash
题意:类似于魔方的那种智力玩具(不过这个是二维的),通过旋转与最后状态匹配即可。编号顺序:左轮顺时针,右轮逆时针。 思路:1.BFS,每转一次记录一个状态,利用HASH判重。 2.超过16步就退出。 目标状态: 0 3 4 3 0 5 6 5 0 1 2 1 0 7 8 7 0 9 10 9 0 1 2 1 旋转一次的状态(方便写出旋转函数): LWC:原创 2013-03-09 10:07:12 · 428 阅读 · 0 评论 -
UVA-10085 - The most distant state
跟白书上介绍的8迷问题十分相似,只是这道题需要记录移动的步骤,而且是求最大可移动的步数。 思路:1.保存每一步的状态。2.HASH查找有无重复状态。3.记录最远能达到的状态。主要算法:利用BFS遍历所有状态。 #include #include #include #define MAXSTATE 1000003 int origin[3][3],current[3][3],final[3][3原创 2013-02-28 15:48:44 · 288 阅读 · 0 评论 -
UVA - 10422 - Knights in FEN
好久没有做题了,唉,一晃大学就只有一年了。考研还是保研还是工作,好难确定 #include #include #include char dest[5][5]={{'1','1','1','1','1'},{'0','1','1','1','1'},{'0','0',' ','1','1'},{'0','0','0','0','1'},{'0','0','0','0','0'}}; char原创 2013-02-28 15:44:38 · 282 阅读 · 0 评论 -
UVA - 310 - L--system
题意:在D0L这样一个系统中存在一个有限的集合(包含字母),一个P集合(字母的映射)和一个初始串。题目给定一个初始串,叫你判断是否能通过不断映射构成目标串或者包含该目标串的串。例如a->aa,b->bb,初始串为ab,目标串为aaabb,这样的话,初始串根据映射衍化(注意,扩展时必须同时采用两规则):ab(a->aa,b->bb)->aabb->aaaabbbb 这样就得到了含有目标串的串,输出Y原创 2013-03-01 21:05:22 · 412 阅读 · 0 评论