#include <iostream>
#include <vector>
using namespace std;
#define MAX 1005vector< vector<int> > map;
int mark[MAX];
bool flag[MAX];
int nm,num;bool dfs(int pos)     //搜pos点是否存在增广路
{int i,pre,tp;int len=map[pos].size();for(i=0;i<len;i++){tp=map[pos][i];if(!flag[tp]){flag[tp]=true;pre=mark[tp];    mark[tp]=pos;if(pre==-1 || dfs(pre)) return true;    //如果没被访问过或者存在增广路,pos到该点就存在增广路mark[tp]=pre;          //否则pos到该点就不存在增广路}}return false;
}int main()
{int n,m,t,i; //n是v1集合的节点数(男孩的人数)m是v2集合的节点数(女孩的人数)t是有t对之间存在边(即有关系)while (scanf("%d%d%d",&n,&m,&t),n){num=0;nm=n+m;map.clear();map.resize(nm+10);memset(mark,-1,sizeof(mark));int x,y;while (t--){scanf("%d%d",&x,&y);y+=n;map[x].push_back(y);}for (i=1;i<=n;i++){memset(flag,0,sizeof(flag));if(dfs(i)) num++;}printf("%d/n",num);}return 0;
}

二分匹配(匈牙利算法)模板相关推荐

  1. HDU 2389 Rain on your Parade(二分匹配+Hopcroft-Carp算法模板题)

    You're giving a party in the garden of your villa by the sea. The party is a huge success, and every ...

  2. HDU-3729 二分匹配 匈牙利算法

    题目大意:学生给出其成绩区间,但可能出现矛盾情况,找出合理组合使没有说谎的人尽可能多,并按maximum lexicographic规则输出组合. //用学生去和成绩匹配,成绩区间就是学生可以匹配的成 ...

  3. 二分图匹配--匈牙利算法

    文章目录 二分图: 匹配 匈牙利算法 代码: 二分图: 二分图是一个无向图,点集分成子集X和Y,图中每一条边都是一边在X一边在Y 当且仅当无向图G的每一个回路次数都是偶数时(包括0),G就是一个二分图 ...

  4. 【HDU 2255】奔小康赚大钱 (最佳二分匹配KM算法)

    奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  5. nyoj-239 月老的难题 (二分图匹配—匈牙利算法 网络流—Dinic算法)

    月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一 ...

  6. 数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配

    数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配 引入小题:最短路径 最大流问题(maximum flow problem) ...

  7. 二分图匹配-匈牙利算法

    说到二分,我们就很容易想到二分查找算法,今年下半年--,今天所介绍的二分图和二分查找没有太大的联系,我们先来看一下它的定义: 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图 ...

  8. 二分图匹配匈牙利算法DFS实现

    1 /*==================================================*\ 2 | 二分图匹配(匈牙利算法DFS 实现) 3 | INIT: g[][]邻接矩阵; ...

  9. 二分图-匈牙利算法模板

    二分图就不赘述了,我在知识资料整理有相关资料. .最大匹配  .最小路径覆盖  .最小点覆盖  .最大独立集 最大匹配:二分图中边集最大的那个匹配 最小路径(边)覆盖:用尽量小的不想交简单路径覆盖有向 ...

  10. HDU 2063:过山车(匈牙利算法模板题)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

最新文章

  1. 动手使用ABAP Channel开发一些小工具,提升日常工作效率
  2. 【Linux开发】linux设备驱动归纳总结(四):5.多处理器下的竞态和并发
  3. ArcGIS API for Silverlight 实现修改地图上的工程点位置
  4. 关系型数据库、非关系型数据库
  5. Sketch小技巧—画出各种星型和多边形的简单方法
  6. 放大镜制作(2)—此方法比较容易理解
  7. C++ class实现链队列(完整代码)
  8. 收藏 | 评述深度学习的发展
  9. LintCode—删除链表中倒数第n个节点(174)
  10. windows winrar 指令_WinRAR命令行参数整理
  11. 29-地理空间数据云下载【进阶】
  12. 软件维护集成价格估算
  13. 国家级发明专利专利 - 崔博文
  14. 动态规划--01背包问题详解
  15. OSChina 周一乱弹 —— T恤能穿出立体感来
  16. 什么是soft matting方法_NMS、 soft-nms、softer-nms
  17. linux挂载smb增加空间,[linux]挂载smb
  18. Bootstrap-导航条-栅格系统-Carousel(轮播效果)-标签页
  19. 原创课程:WordPress快速建站培训课程
  20. 多专家称今年房价至少降一成 “非危言耸听”

热门文章

  1. 【IOC 控制反转】Android 视图依赖注入 ( 视图依赖注入步骤 | 视图依赖注入代码示例 )
  2. MySQL 报 Can't create more than max_prepared_stmt_count statements
  3. 微信小程序打开PDF
  4. Gtk-WARNING**:无法在模块路径中找到主题引擎:“pixmap”的解决
  5. BZOJ3048: [Usaco2013 Jan]Cow Lineup
  6. BZOJ 1101: [POI2007]Zap
  7. 走火入魔通用权限管理不仅是权限设计更是总体设计规划、快速开发集成平台(集中控制体系)...
  8. 获取GridView隐藏列值
  9. 微信小程序-控制文本只显示若干行多余隐藏
  10. Java反射在整个程序运行中的位置