
拓扑排序
lin375691011
呵呵
展开
-
SDUT2140 判断给定图是否存在合法拓扑序列
这个题我敲了好几遍,看了题解,最后才AC掉,代码和题解的貌似高度相似。。。 代码操作是这样的: 1、输入并用邻接矩阵保存点与点之间的关系,用数组保存每个点的入度。 2、每次找一个入度为零的点,将所有和他有关的点的入度减一。 3、重复步骤二,直到没有入度为零的点为止。 4、如果这时还有入度不为零的点,证明有环,输出NO,反之输出YES。 以下是代码: #include int原创 2013-07-20 21:36:43 · 4179 阅读 · 0 评论 -
POJ 1094 Sorting It All Out
这个题的题意是这样的: 给定有向边,问在输入地几个边的时候出现了确定的拓扑序列或者环,如果输入完所有边还没有结果则输出 “Sorted sequence cannot be determined.” 。 这里需要注意的是: 1、有环和有确定的拓扑序列谁先出现输出谁。 2、注意记录是在哪一个边输入之后出现的。 3、如果出现有环或有确定的拓扑序列之后边还没输入完则需要输入完所有边再输出。原创 2013-08-09 09:10:29 · 4033 阅读 · 0 评论 -
POJ 3687 Labeling Balls
无奈了,巨坑陷阱题加读错题导致了N个WA。 题意是这样的: 给定几个标签球的重量大小关系,求每个球是第几重的(即每个球在所有球的重量中由小到大排名是多少)。 (输出是每个球第几重,而不是几号球比几号球重!)。 此题重点是: 1、需要逆序拓扑,找入读为零的点时要从大到小找。 2、注意最后的处理,是输出几号球是第几重的!! 例如:拓扑出的序列是1 4 2 3 5,就是4号球比原创 2013-08-09 15:44:58 · 4457 阅读 · 0 评论 -
POJ 1691 Painting A Board
题目大意: 墙上有一块区域被分成了n个矩形,每个矩形要涂上各自的颜色。为了保证完美要求这一块区域可以进行涂色的条件是它上方的所有区域都已经涂好颜色,这样就不会有后续的操作影响这块区域的颜色。但是如果两块区域颜色不同就要换涂颜色用的刷子。问最少需要换几次。 解题思路: 区域涂色的大体次序是由拓扑排序决定的,当有多个区域在同一层次时需要枚举这些区域来保证换刷子的次数最小。原创 2014-05-20 20:09:25 · 4652 阅读 · 0 评论