POJ3692【二分匹配】
来源:互联网 发布:公交数据库下载 编辑:程序博客网 时间:2024/05/17 07:14
题意:
有男生女生,男生都认识双方,女生都认识双方,给出一些男女关系,问最大拿多少个人,使得所有人都认识双方。
思路:
原图最大团=总结点数-[【补图(补图为二分图)】的最大独立集=最大完全子图的顶点数];
有男生女生,男生都认识双方,女生都认识双方,给出一些男女关系,问最大拿多少个人,使得所有人都认识双方。
思路:
原图最大团=总结点数-[【补图(补图为二分图)】的最大独立集=最大完全子图的顶点数];
//#include<bits/stdc++.h>#include<cstdio>#include<string.h>#include<algorithm>using namespace std;typedef long long LL;const int N=2e2+10;bool ma[N][N];int n,m,e;int cx[N],cy[N];bool vis[N];bool FindPath(int u){ for(int v=1;v<=m;v++) { if(ma[u][v]&&!vis[v]) { vis[v]=true; if(cy[v]==-1||FindPath(cy[v])){ cx[u]=v; cy[v]=u; return true; } } } return false;}int MinPoint(){ int res=0; memset(cx,-1,sizeof(cx)); memset(cy,-1,sizeof(cy)); for(int i=1;i<=n;i++){ if(cx[i]==-1) { memset(vis,0,sizeof(vis)); res+=FindPath(i); } } return res;}int main(){ int cas=1; while(~scanf("%d%d%d",&n,&m,&e)) { if(!n&&!m&&!e) break; int u,v; memset(ma,true,sizeof(ma)); while(e--) { scanf("%d%d",&u,&v); ma[u][v]=false; } printf("Case %d: %d\n",cas++,n+m-MinPoint()); } return 0;}
0 0
- POJ3692【二分匹配】
- POJ3692 二分图匹配【入门】
- POJ3692——Kindergarten(最大二分匹配)
- poj3692(二分图)
- POJ3692——Kindergarten (二分图求最小顶点覆盖 (即最大匹配))
- 二分图最大团-poj3692
- poj3692二分图最大团
- poj3692
- poj3692
- poj3692
- POJ3692
- POJ3692 最大完全二分子图
- poj3692----图论---二分图最大团
- poj3692 Kindergarten 二分图最大独立集
- poj3692 二分图的最大团
- POJ3692 Kindergarten【二分图最大独立集】
- poj3692(二分图最大独立集)
- poj3692 补图二分图,最大团
- 写到usaco上的一题可能题解是凸包所以转来这篇文章看看
- privoxy安装
- H5项目常见问题及注意事项
- API
- Android源码编译GC overhead limit exceeded. Try increasing heap size with java option '-Xmx<size>'
- POJ3692【二分匹配】
- 【python3.5 tkinter】页面跳转
- 谷歌大脑全新软件能让马赛克样模糊人脸变清晰
- WebApi 4大方法get、post、put、delete返回协议
- SAP 根据PO查找对应的打印FORM
- session与cookie
- hbase 打入数据测试
- android js交互总结
- 应用内购买(IAP)各类型在服务端的验证规则