随笔分类 -  算法训练-图论-广搜

摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1311方法:把所有父子关系看作是一个以父为起点以子为终点的有向边来建立有向图,图中所有的定点要有4个数据,即自己名字,自己年龄,自己比父亲小的岁数,和指向自己第一个儿子的指针。其中,初始的时候,除了那个最高祖先的“自己年龄”已经确定外,其他人的年龄均不确定,均需要在广搜的时候计算,计算的方法是根据父亲的“自己年龄”减去自己的“自己比父亲小的岁数”。由于初始的时候最高祖先的“自己年龄”已知,所以,在广搜的循环不变式中,每一个子孙的年龄均可计算出来。在接受输入并建立边的时候,对于每一个“父亲-儿子-儿子 阅读全文
posted @ 2013-04-13 18:37 kbyd 阅读(292) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1181方法:以所有咒语看做一条起点为首字母,终点为末字母的有向边来建立有向图。然后在图中判断目标路径是否存在,判断的方法是 :如果目标路径的起点和终点不都在图中出现,则直接得出不存在该路径,否则广搜索来判断目标路径是否存在。感想:简单题目,但后期需要频繁重温代码以熟悉广搜代码的写法。该题使用的是邻接矩阵。代码:View Code #include<iostream>#include<queue>using namespace std;bool matrix[26][26];b 阅读全文
posted @ 2013-04-13 17:43 kbyd 阅读(238) 评论(0) 推荐(0)