POJ 1325二分图,最小点覆盖
2010-12-05 17:08
423 查看
//二分图,最小点覆盖,注意:At the beginning they are both work at mode_0.
#include<iostream>
using namespace std;
int map[102][102];
bool visity[102];
int visitx[102];
int matchingy[102];
int n,m,k;
bool dfs(int u)
{
int v;
for(v=1;v<m;v++)
{
if(visity[v]==false&&map[u][v]==1)
{
visity[v]=true;
if(matchingy[v]==-1||dfs(matchingy[v])==true)
{
matchingy[v]=u;
return true;
}
}
}
return false;
}
int main()
{
int num;
int i;
int from,to;
int result;
while(scanf("%d",&n))
{
if(n==0)
break;
scanf("%d %d",&m,&k);
memset(map,0,sizeof(map));
for(i=0;i<k;i++)
{
scanf("%d %d %d",&num,&from,&to);
map[from][to]=1;
}
result=0;
memset(matchingy,255,sizeof(matchingy));
for(i=1;i<n;i++)
{
memset(visity,false,sizeof(visity));
if(dfs(i))
{
result++;
}
}
printf("%d/n",result);
}
return 0;
}
#include<iostream>
using namespace std;
int map[102][102];
bool visity[102];
int visitx[102];
int matchingy[102];
int n,m,k;
bool dfs(int u)
{
int v;
for(v=1;v<m;v++)
{
if(visity[v]==false&&map[u][v]==1)
{
visity[v]=true;
if(matchingy[v]==-1||dfs(matchingy[v])==true)
{
matchingy[v]=u;
return true;
}
}
}
return false;
}
int main()
{
int num;
int i;
int from,to;
int result;
while(scanf("%d",&n))
{
if(n==0)
break;
scanf("%d %d",&m,&k);
memset(map,0,sizeof(map));
for(i=0;i<k;i++)
{
scanf("%d %d %d",&num,&from,&to);
map[from][to]=1;
}
result=0;
memset(matchingy,255,sizeof(matchingy));
for(i=1;i<n;i++)
{
memset(visity,false,sizeof(visity));
if(dfs(i))
{
result++;
}
}
printf("%d/n",result);
}
return 0;
}
相关文章推荐
- POJ 1325 Machine Schedule 二分图 最小点覆盖
- poj 1325 Machine Schedule---二分图求最小顶点覆盖
- poj 1325 二分图最小点覆盖(机器模式的选择)
- POJ 1325 Machine Schedule(二分图最小点集覆盖)
- POJ 1325 Machine Schedule 二分图 最小覆盖
- poj 1325 Machine Schedule(二分图的最小点覆盖)
- POJ 1325 Machine Schedule 二分图最小点覆盖
- POJ 1325 && ZOJ 1364--Machine Schedule【二分图 && 最小点覆盖数】
- POJ - 1325 Machine Schedule 二分图 最小点覆盖
- POJ - 1325 Machine Schedule 二分图 最小点覆盖
- poj1325_二分图最小顶点覆盖集
- POJ 1325 && ZOJ 1364--Machine Schedule【二分图 && 最小点覆盖数】
- POJ 1325 Machine Schedule (二分图最小点集覆盖 匈牙利算法)
- poj1325 二分图的最小覆盖
- poj 1325 Machine Schedule 二分图最小点覆盖=最大匹配
- poj1325 二分图的最小点覆盖
- POJ1325 Machine Schedule 【二分图最小顶点覆盖】
- POJ 1325 Machine Schedule (最小点覆盖 && 二分图最大匹配)
- poj 1325(二分图的最小点覆盖)
- POJ1325 Machine Schedule 【二分图最小顶点覆盖】