HDU 2119 Matrix
2024-10-19 08:48:37
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=2119
解题思路:
处理数据,使用公式最小点覆盖数=最大匹配数,使用匈牙利算法求二分图最大匹配即可。
AC代码:
#include<stdio.h>
#include<string.h>
int n,m,e[][],book[],cx[],cy[];
int Maxmatch();
int path(int u);
int main()
{
int i,j;
while(scanf("%d",&n), n != )
{
scanf("%d",&m);
for(i=;i<=n;i++)
for(j=;j<=m;j++)
scanf("%d",&e[i][j]);
printf("%d\n",Maxmatch());
}
return ;
}
int Maxmatch()
{
int i,res=;
memset(cx,0xff,sizeof(cx));
memset(cy,0xff,sizeof(cy));
for(i=;i<=n;i++)
{
if(cx[i] == -)
{
memset(book,,sizeof(book));
res += path(i);
}
}
return res;
}
int path(int u)
{
int v;
for(v=;v<=m;v++)
{
if(e[u][v] && !book[v])
{
book[v]=;
if(cy[v] == -|| path(cy[v]))
{
cx[u]=v;
cy[v]=u;
return ;
}
}
}
return ;
}
最新文章
- MVVM开发模式简单实例MVVM Demo【续】
- HTML 5 视频(video)
- linux系统无法启动解决方案
- python 安装easy_install和pip
- Unity3D特效-场景淡入淡出
- bzoj 1818: [Cqoi2010]内部白点
- 2 TKinter绑定事件
- H5下拉刷新特效demo,动画流畅
- TesserOCR训练
- 论 <;%@taglib prefix=";s"; uri=";/struts-tags"; %>; 的重要性
- 1.Date对象
- Java开发笔记(二十七)数值包装类型
- python 错误捕获机制分析
- java中的默认类型+spring
- 【vue】vue +element 搭建项目,实现实时输入效果时停止输入后发送请求
- 搭建自己的Docker registry(五)
- fork()函数、进程表示符、进程位置
- CSS cursor 属性改变鼠标的样式
- MySQL ERROR 1054 的问题
- HDU 4568 SPFA + TSP