博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分图最大匹配
阅读量:5972 次
发布时间:2019-06-19

本文共 848 字,大约阅读时间需要 2 分钟。

#include
#include
#include
#include
#include
#include
#include
using namespace std;int n,m;int num[20009],nxt[20009],head[10009],cnt=0,sum=0;int book[10009],match[10009];int dfs(int x){ for(int i=head[x];i;i=nxt[i]) { int k=num[i]; if(book[k]==0) { book[k]=1;// 标记 k if(match[k]==0||dfs(match[k]))//如果 k 还没有配对或者 k 的配对找到了其他的配对 { match[k]=x; match[x]=k; return 1; } } } return 0;}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) { int x,y; scanf("%d%d",&x,&y); cnt++; num[cnt]=y; nxt[cnt]=head[x]; head[x]=cnt; cnt++; num[cnt]=x; nxt[cnt]=head[y]; head[y]=cnt; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) book[j]=0; if(dfs(i)) sum++; } printf("%d",sum); return 0;}

感谢《啊哈》

转载于:https://www.cnblogs.com/dfsac/p/6819730.html

你可能感兴趣的文章
Delphi中Chrome Chromium、Cef3学习笔记(二)
查看>>
函数式 vs 指令式
查看>>
oracle的exp和imp,oracle exp和imp
查看>>
make找不到linux内核函数,linux内核make menuconfig出错
查看>>
小红帽linux各功能中英,英文短剧《小红帽》剧本台词完整版---中英对照文本版...
查看>>
linux is not unix由来,一些奇怪的 unix 指令名字的由来(转)
查看>>
基于linux的业设计课题,基于linux下智能手机的设计与制作 毕业设计.doc
查看>>
c语言的程序结构语序,第3章 C语序结构.doc
查看>>
计算器软件C语言课程设计实验报告,c简单计算器实验报告_相关文章专题_写写帮文库...
查看>>
html5 drawimage 不显示,canvas的drawImage无法显示图像
查看>>
html中两个图片叠放,CSS实现图片叠放(勾选图标)
查看>>
html loader使用方法,webpack中loader的使用方法,以及几个常用loader的应用小实例
查看>>
网管必读的两本职业指南图书封面闪亮登场啦
查看>>
安装、部署DPM 2012 R2服务器
查看>>
84天平美女征婚【非诚勿扰】
查看>>
一个资深系统管理员的O2O实践(四)
查看>>
VMM2012应用指南之9-向VMM中添加VMware ESX Server主机
查看>>
ubuntu无法修改ROOT密码的问题解决
查看>>
【虚拟化实战】VM设计之二内存机制
查看>>
SCOM 2012系列⑧即时消息通知下
查看>>