二分匹配_HDU_2119
来源:互联网 发布:mactype mac字体 编辑:程序博客网 时间:2024/05/01 18:05
一个矩阵,由01组成,任意删除行和列,最少删几次
最小点覆盖:可以引申为覆盖点,删掉边,边上两点就是行列
#include<iostream>#include<cstdio>#include<cstring>const int maxn = 105;using namespace std;int n,m;struct node{ int v,next;};node e[maxn*100];int head[maxn], tot;int link[maxn],vis[maxn];void init(){ tot=0; memset(head, -1, sizeof(head));}void add(int u, int v){ e[tot].v = v; e[tot].next = head[u]; head[u]=tot++;}int Find(int x){ for(int i = head[x]; i != -1; i = e[i].next) { int v = e[i].v; if(!vis[v]) { vis[v] = 1; if(link[v] == -1 || Find(link[v])) { link[v] = x; return 1; } } } return 0;}int math(){ int cnt = 0; memset(link, -1, sizeof(link)); for(int i = 1; i <= n; i++) { memset(vis, 0, sizeof(vis)); if(Find(i)) cnt++; } return cnt;}int main(){ int x; while(scanf("%d",&n) != EOF) { if(n == 0)break; scanf("%d",&m); init(); for(int i = 1; i<= n; i++) for(int j = 1; j <= m; j++) { scanf("%d",&x); if(x) add(i,j); } printf("%d\n",math()); } return 0;}
0 0
- 二分匹配_HDU_2119
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 二分匹配
- 【HDU 1019】Least Common Multiple —— LCM
- SVG图像动画鉴赏
- 给没有毕业的同学
- Jquery中的offset()和position()方法详解
- uiscrollview 放大/缩小后 contentSize被改变
- 二分匹配_HDU_2119
- RedHat Linux 安装oracle11g (转)
- 母牛生仔的递归算法和非递归算法。
- 协议森林10 魔鬼细节 (TCP滑窗管理)
- UIView之CALayer
- RedHat Linux 安装oracle11g (转)
- 游戏测试-数据库语句1
- C语言结构体里的成员数组和指针(1)
- iOS之tableView中的静态cell(静态单元格)