hdu1054Strategic Game&&hdu1150Machine Schedule(最小顶点覆盖)
2016-05-18 18:25
302 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1054
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150
在二分图中选取最少的点,使每一条边至少与一个点相关联,最小顶点覆盖 = 最大匹配(定理)
1054代码:
1150代码:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150
在二分图中选取最少的点,使每一条边至少与一个点相关联,最小顶点覆盖 = 最大匹配(定理)
1054代码:
#include <cstdio> #include <vector> #include <cstring> using namespace std; const int maxn = 1500; vector<int> g[maxn + 5]; int match[maxn + 5]; int book[maxn + 5]; int ans; bool dfs(int u) { for(int i = 0; i < g[u].size(); ++i) { int v = g[u][i]; if(!book[v]) { book[v] = true; if(match[v] == -1 || dfs(match[v])) { match[v] = u; // match[u] = v; return true; } } } return false; } int main() { int n; while(~scanf("%d",&n)) { for(int i = 0; i < n; ++i) g[i].clear(); for(int i = 0; i < n; ++i) { int u,v; int num; scanf("%d:(%d)",&u,&num); if(num) { while(num--) { scanf("%d",&v); g[u].push_back(v); g[v].push_back(u); } } } memset(match,-1,sizeof(match)); ans = 0; for(int i = 0; i < n; ++i) { memset(book,0,sizeof(book)); if(dfs(i)) ans++; } printf("%d\n",ans / 2); } return 0; }
1150代码:
#include <cstdio> #include <cstring> int n,m,k; int a[205][205]; int match[205]; int book[205]; int dfs(int u) { for(int i = 1;i <= m;++i) { int v = a[u][i]; if(v && !book[i]) { book[i] = 1; if(match[i] == -1 || dfs(match[i])) { match[i] = u; return 1; } } } return 0; } int main() { while(~scanf("%d",&n),n) { scanf("%d%d",&m,&k); memset(a,0,sizeof(a)); for(int i = 0;i < k;++i) { int num,u,v; scanf("%d%d%d",&num,&u,&v); a[u][v] = 1; //a[v][u] = 1; } memset(match,-1,sizeof(match)); int ans = 0; for(int i = 1;i <= n;++i) { memset(book,0,sizeof(book)); ans += dfs(i); } printf("%d\n",ans); } return 0; }
相关文章推荐
- 安卓热更新之Nuwa实现步骤
- php AES 加密类
- 每天一个Linux命令(20)find命令_exec参数
- BZOJ1018 [SHOI2008]堵塞的交通traffic
- 滑动时NSTimer定时器停止的解决方法
- android 计算图片占用内存大小
- 第二届PHP全球开发者大会(含大会的PPT)
- tp框架总结(四)
- hdu 2473 Junk-Mail Filter【并查集好题、建立虚拟节点】
- 自定义组件之信号显示器
- 用户 用户头像 数据库设计
- 邱老师降临小行星(UESTC 1086)
- LL(1)文法分析,自上向下
- C语言中结构体偏移及结构体成员变量访问方式的问题讨论
- linux下的tar打包命令示例及详解
- C语言与ELF机器语言之间的关系
- Binary Tree Preorder Traversal
- ElasticSearch之动态mapping模板
- Java本地时间与GMT时间的转换
- hdoj2120 A计划 (广搜)