摘要: http://poj.org/problem?id=3020题目就是一个最小路径覆盖的问题,因为这是一个无向图,所以,最小路径覆盖数 = "*"的总数 - 最大匹配数/2; 如果是一个有向图,则最小路径覆盖数 = "*" 的总数 - 最大匹配数。最大匹配用匈牙利算法就可以了,然后就是建图,因为题目中说了,可以上下左右的覆盖(只要是连着的),所以建图的时候,如果遇到一个 "*" 还要判断一下它的四周是不是也是 "*"; 1 #include<stdio.h> 2 #include<string.h& 阅读全文
posted @ 2012-03-15 14:42 AC_Girl 阅读(172) 评论(0) 推荐(0) 编辑