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

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

也拿这个当模板吧。。。

#include
#include
int k, m, n;bool g[510][510];int visit[510], link[510];bool dfs(int u){ for(int i = 1; i <= n; i ++){ if(g[u][i] && !visit[i]){ visit[i] = 1; if(link[i] == -1 || dfs(link[i])){ link[i] = u; return true; } } } return false;}int max_match(){ memset(link, -1, sizeof link); int ans = 0; for(int i = 1; i <= m; i ++){ memset(visit, 0, sizeof visit); if(dfs(i)) ans ++; } return ans;}int main(){ while(scanf("%d", &k), k){ scanf("%d%d", &m, &n); memset(g, 0, sizeof g); while(k --){ int u, v; scanf("%d%d", &u, &v); g[u][v] = true; } printf("%d\n", max_match()); } return 0;}

就是不断的DFS。。

转载于:https://www.cnblogs.com/louzhang/archive/2012/08/12/2634846.html

你可能感兴趣的文章
Object C学习笔记8-字符串NSString之二
查看>>
算法笔记 3.2 codeup1935 查找学生信息
查看>>
DataTable转List,转对象
查看>>
1185: 零起点学算法92——单词数
查看>>
IOS HTML点击时有背景阴影
查看>>
svn登录问题
查看>>
[Java复习01] Java基础 Basic
查看>>
使用scipy.genfromtxt()报错
查看>>
java-接口—策略模式
查看>>
[AHOI2006]文本编辑器 Splay tree区间操作
查看>>
android自定义动画
查看>>
ANR和FC
查看>>
bzoj 2823: [AHOI2012]信号塔 最小圆覆盖
查看>>
CLRS最大子数组问题
查看>>
[Android 步步为营]第2营:Hello World 第一个Android应用(下)
查看>>
【转】ssh登录慢,等待输入密码时间长的解决办法
查看>>
冒泡选择插入三种排序
查看>>
外键建立失败
查看>>
font-face
查看>>
路飞学城Python-Day180
查看>>