POJ 3692 最大团
2015-05-29 17:18
190 查看
最大团=补图最大独立集
when 补图是二分图时, 最大团=补图顶点数-最大匹配
//
// main.cpp
// poj3692
//
// Created by Fangpin on 15/5/29.
// Copyright (c) 2015年 FangPin. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN=205;
bool vis[MAXN];
int link[MAXN];
int B,G;
int g[MAXN][MAXN];
bool dfs(int x){
for(int i=1;i<=B;++i){
if(g[x][i] && !vis[i]){
vis[i]=true;
if(link[i]==-1 || dfs(link[i])){
link[i]=x;
return true;
}
}
}
return false;
}
int hungry(){
int ans=0;
memset(link,-1,sizeof(link));
for(int i=1;i<=G;++i){
memset(vis,false,sizeof(vis));
if(dfs(i)) ++ans;
}
return ans;
}
int main(int argc, const char * argv[]) {
for(int ca=1;;++ca){
int m;
scanf("%d%d%d",&G,&B,&m);
if(G+B+m==0) break;
memset(g,1,sizeof(g));
for(int i=0;i<m;++i){
int x,y;
scanf("%d%d",&x,&y);
g[x][y]=0;
}
cout<<"Case "<<ca<<": "<<G+B-hungry()<<endl;
}
return 0;
}
when 补图是二分图时, 最大团=补图顶点数-最大匹配
//
// main.cpp
// poj3692
//
// Created by Fangpin on 15/5/29.
// Copyright (c) 2015年 FangPin. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN=205;
bool vis[MAXN];
int link[MAXN];
int B,G;
int g[MAXN][MAXN];
bool dfs(int x){
for(int i=1;i<=B;++i){
if(g[x][i] && !vis[i]){
vis[i]=true;
if(link[i]==-1 || dfs(link[i])){
link[i]=x;
return true;
}
}
}
return false;
}
int hungry(){
int ans=0;
memset(link,-1,sizeof(link));
for(int i=1;i<=G;++i){
memset(vis,false,sizeof(vis));
if(dfs(i)) ++ans;
}
return ans;
}
int main(int argc, const char * argv[]) {
for(int ca=1;;++ca){
int m;
scanf("%d%d%d",&G,&B,&m);
if(G+B+m==0) break;
memset(g,1,sizeof(g));
for(int i=0;i<m;++i){
int x,y;
scanf("%d%d",&x,&y);
g[x][y]=0;
}
cout<<"Case "<<ca<<": "<<G+B-hungry()<<endl;
}
return 0;
}
相关文章推荐
- Bad Horse - Practice Round China New Grad Test 2014 - BFS - 二分图判定
- Codeforce 85E (二分答案+二分图染色)
- 无向图的最小边覆盖
- Hdu2063—过山车 二分图最大匹配
- Codeforces498C解题报告
- poj_3041
- uva 1201
- uva12083
- hdu 2255
- [Usaco2011 Nov]Cow Steeplechase奶牛越野跑(二分图裸题)
- hdu2603
- hdu4619
- POJ 2112 (二分图多重匹配)
- uva10004 Bicoloring 二分图染色
- poj 1325 最小顶点覆盖
- poj 2446 二分图最大匹配 匈牙利算法
- poj 1422 最小路径覆盖
- hdu 2255 二分图最大权匹配 km算法模板
- poj 3041 二分图
- codeforces 515d 拓扑排序/二分图