摘要: 题意:有一些单词他们之间只要满足A的最后一个字母和B的第一个字母相同。就能建立A.B的关系。然后问你能不能找到把所有单词连成一串且所有单词都出现一次。思路:其实题意就是能不能在一张无向图中找到一条欧拉通路。我们知道在无向图中一张图存在欧拉通路的条件是:(1)所有结点入度=出度或有一个节点入度-出度=1有另一个节点出度-入度=1其他节点入度-出度。(2)当前图是弱连通的。(就是当前图换成有向图是连通的)然后我们在用dfs输出欧拉道路就可以了。至于dfs的过程是这样的每走过一条边就标记它。然后在回溯的时候记录路径。代码如下: 1 /********************************. 阅读全文
posted @ 2014-01-28 16:00 张小豪 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 题意:一个国王要派若干士兵看守王国。王国是一张无向图,然后士兵只能站在点上。每个士兵的看守范围是临近的点与边,士兵看管的的边不能重复。问最少用多少个士兵能使每个点和边都有人看守。思路:这道题可以抽象成二分图,只要一张图满足二分图。结点数少的颜色的和即为最小的士兵数。代码如下: 1 /************************************************** 2 * Author : xiaohao Z 3 * Blog : http://www.cnblogs.com/shu-xiaohao/ 4 * Last modified : 2014-0... 阅读全文
posted @ 2014-01-28 10:24 张小豪 阅读(259) 评论(0) 推荐(0) 编辑