hdu 1151 Air Raid (二分匹配)
来源:互联网 发布:plotagraph同类软件 编辑:程序博客网 时间:2024/05/16 11:42
http://acm.split.hdu.edu.cn/showproblem.php?pid=1151
题目大意:
在一个城镇,有m个路口,和n条路,这些路都是单向的,而且路不会形成环,现在要弄一些伞兵去巡查这个城镇,伞兵只能沿着路的方向走,问最少需要多少伞兵才能把所有的路口搜一遍。这个题目就转换成求解有向无环图的最小路径覆盖问题了。
思路:
有向无环图的最小路径覆盖=该图的顶点数-该图的最大匹配
#include<iostream>#include<cstring>using namespace std;const int maxn=125;int n,m,link[maxn];bool map[maxn][maxn],vis[maxn];bool dfs(int u){ for(int i=1;i<=n;i++) { if(!vis[i]&&map[u][i]) { vis[i]=true; if(!link[i]||dfs(link[i])) { link[i]=u; return true; } } } return false;}int hungary(){ int ans=0; memset(link,0,sizeof(link)); memset(vis,false,sizeof(vis)); for(int i=1;i<=n;i++) if(dfs(i)) ans++; return ans;}int main(){ int t,x,y; cin>>t; while(t--) { cin>>n>>m; memset(map,false,sizeof(map)); while(m--) { cin>>x>>y; map[x][y]=true; } int ans=hungary(); cout<<n-ans<<endl; } return 0;}
阅读全文
0 0
- hdu 1151 Air Raid (二分匹配)
- hdu 1151 Air Raid (二分匹配)
- hdu 1151 Air Raid 二分图匹配
- HDU 1151 Air Raid(二分图最大匹配)
- Air Raid(二分匹配)
- hdu 1151 Air Raid(二分图匹配--最小路径覆盖)
- hdu 1151 Air Raid (二分匹配,最小路径覆盖)
- hdu 1151 Air Raid 匹配
- 【二分图匹配(最小路径覆盖)】hdu 1151 Air Raid
- HDU 1151Air Raid 最小路径覆盖=n-最大匹配量 (第二道二分匹配)
- 杭电 hdu 1151 Air Raid (二分匹配 + 最小路径覆盖)
- hdu 1151 &&poj 1422 Air Raid (二分图匹配 最小路径覆盖)
- HDOJ 1151 ——Air Raid 二分图匹配
- 最小路径覆盖(二分图最大匹配):Air Raid
- poj 1422 Air Raid (二分图匹配)
- HDU---1151-Air Raid(二分图)(HDU-1150)(POJ-3041)
- hdu 1151 Air Raid
- hdu 1151 Air Raid
- ubuntu下查看Qt的版本
- 用eclipse搭建SSH框架
- CCF之窗口
- HDOJ 1210 Eddy's 洗牌问题
- 跳出关键词break、goto、return和continue
- hdu 1151 Air Raid (二分匹配)
- 【Java基础】(04)多线程编程
- 第十一天 PHP的八个基本数据
- 如何让用c语言统计字符串中小写字母,空格和其他字符的数目
- Leetcode100.+Leetcode572.+Leetcode437. 分治法比较二叉树结构+求解路径
- ThinkPHP 3.2.2 实现持久登录 ( 记住我 )
- VMware 虚拟化编程(3) —VMware vSphere Web Service API 解析
- 开始
- 6-3 逆序数据建立链表(20 分)_头插法建链表