hdu 1150 二分图 最小点覆盖=最大匹配
来源:互联网 发布:ubuntu下的vmware 编辑:程序博客网 时间:2024/05/01 15:48
到了算法会写,但看不懂题目要用啥算法的阶段……真是悲哀
#include <stdio.h>#include <stdlib.h>#include <string.h>#define M 100int n, m, k;typedef struct _Node{ int to; struct _Node* next;}Node, *pNode;pNode map[M];int match[M];int visited[M];int DFS(int k){ pNode p = map[k]; int t; while(p){ if(visited[p->to]){ p = p->next; continue; } else visited[p->to] = 1; t = match[p->to]; match[p->to] = k; if(t==-1 || DFS(t)) return 1; match[p->to] = t; p = p->next; } return 0;}int cal(){ int i, sum = 0; memset(match, -1, sizeof(match)); for(i=0; i<n; i++){ if(!map[i]) continue; memset(visited, 0, sizeof(visited)); if(DFS(i)) sum++; } return sum;}int main() { int i, t, u, v; pNode p; freopen("in", "r", stdin); while(scanf("%d", &n), n){ scanf("%d %d", &m, &k); memset(map, 0, sizeof(map)); for(i=0; i<k; i++){ scanf("%d %d %d", &t, &u, &v); if(!u || !v) continue; p = (pNode)malloc(sizeof(Node)); p->to = v; p->next = map[u]; map[u] = p; } printf("%d\n", cal()); } return 0;}
- hdu 1150 二分图 最小点覆盖=最大匹配
- hdu 1150 二分图最大匹配最小点覆盖
- 二分图-最大匹配,最小路径覆盖,最小点覆盖
- HDU2119_Matrix(二分图/最小点覆盖=最大匹配)
- 最小点集覆盖=最大匹配<二分图>/证明
- hdu 1150 最小覆盖点==最大二分匹配 Machine Schedule
- hdu 4160 Dolls--最小点集覆盖=V-二分图最大匹配
- HDU 1150 二分图匹配 最小点覆盖
- HDU 1150 二分图匹配 最小点覆盖
- HDU-1150-Machine Schedule【最小点覆盖】【二分图匹配】
- 二分图最大匹配,最小点覆盖,最小路径覆盖,二分图最大独立集
- POJ 3692 最小点覆盖 最大二分图匹配
- poj 3041 二分图最大匹配(最小点覆盖问题)
- poj 3041 二分图最大匹配 最小点覆盖
- POJ 3401 Asteroids 二分图最大匹配 最小点覆盖
- 最小点覆盖和二分图最大匹配(证明)
- POJ 3041 Asteroids(二分图最大匹配-最小点覆盖)
- 二分图 最大匹配 之最小点覆盖
- android -- phone (四) 其实我只想加个接口
- 学习XNA游戏编程1:初识
- android上传图片到Struts2服务器
- Ubuntu下Tomcat绑定80端口
- 如何合并EA文件
- hdu 1150 二分图 最小点覆盖=最大匹配
- 2012年8月28日|第三章:数据存储与输入输出|总结
- Android MVC模式
- 全屏显示
- Android 内存溢出解决方案(OOM) 整理总结
- libpng样例
- 《四个丘比特》 好看
- Junit相关资料
- ASP.NET 信任级别和策略文件