博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2063 过山车(二分图 && 匈牙利 && 最小点覆盖)
阅读量:5325 次
发布时间:2019-06-14

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

嗯...

 

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063

 

这是一道很经典的匈牙利问题:

把男同学看成左边点,女同学看成右边点,如果两个同学愿意同坐过山车,则连边,最后输出最大匹配数即可...

AC代码:

1 #include
2 #include
3 #include
4 5 using namespace std; 6 7 int k, n, m; 8 int match[505], vis[505], g[505][505]; 9 10 inline int dfs(int u){11 for(int i = 1; i <= m; i++){12 if(g[u][i] && !vis[i]){13 vis[i] = 1;14 if(!match[i] || dfs(match[i])){15 match[i] = u;16 return 1;17 }18 }19 }20 return 0;21 }22 23 inline int hungary(){24 memset(match, 0, sizeof(match));25 int ans = 0;26 for(int i = 1; i <= n; i++){27 memset(vis, 0, sizeof(vis));28 if(dfs(i)) ans++;29 }30 return ans;31 }32 33 int main(){34 while(~scanf("%d%d%d", &k, &n, &m) && k != 0){35 memset(g, 0, sizeof(g)); 36 for(int i = 1; i <= k; i++){37 int a, b;38 scanf("%d%d", &a, &b);39 g[a][b] = 1;40 }41 printf("%d\n", hungary());42 }43 return 0;44 }
AC代码

 

转载于:https://www.cnblogs.com/New-ljx/p/11436814.html

你可能感兴趣的文章
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
移动、联通和电信,哪家的宽带好,看完你就知道该怎么选了!
查看>>
Linux设置环境变量的方法
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>