poj 1325 Machine Schedule---二分图求最小顶点覆盖
2013-07-29 11:00
501 查看
二分图求最小顶点覆盖。。
注意本题说,机器开始在0开始,所以就是默认和0相连的job已经被完成了,所以我是从1开始扫的点
正常的话,要将edge【】【】和0相连的边值赋为0,表示该job已经被完成。。。
注意本题说,机器开始在0开始,所以就是默认和0相连的job已经被完成了,所以我是从1开始扫的点
正常的话,要将edge【】【】和0相连的边值赋为0,表示该job已经被完成。。。
#include<stdio.h> #include<string.h> bool edge[110][110],visited[110]; int cx[110],cy[110]; int n,m,k; int path(int u) { int v; for(int v=1;v<m;v++) if(edge[u][v]&&!visited[v]){ visited[v]=1; if(cy[v]==-1 || path(cy[v])) { cx[u]=v; cy[v]=u; return 1; } } return 0; } int maxmatch() { 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(visited,0,sizeof(visited)); res+=path(i); } } return res; } int main() { int t; int i,j; int a,b,c; while(scanf("%d",&n),n){ memset(edge,0,sizeof(edge)); scanf("%d%d",&m,&k); while(k--){ scanf("%d%d%d",&a,&b,&c); edge[b][c]=1; } printf("%d\n",maxmatch()); } }
相关文章推荐
- poj1325_二分图最小顶点覆盖集
- POJ1325 Machine Schedule 【二分图最小顶点覆盖】
- poj 1325 二分图最小顶点覆盖(机器重启)
- POJ1325 Machine Schedule 【二分图最小顶点覆盖】
- POJ 1325 && ZOJ 1364--Machine Schedule【二分图 && 最小点覆盖数】
- poj1325 Machine Schedule【最小顶点覆盖】
- poj1325——Machine Schedule(最小顶点覆盖)
- poj 1325 Machine Schedule 最小顶点覆盖
- POJ 3020Antenna Placement(二分图最小顶点覆盖)
- poj 3041 Asteroids(二分图最小顶点覆盖)
- POJ - 1325 Machine Schedule 二分图 最小点覆盖
- poj 3041 Asteroids( 最小顶点覆盖,二分图)
- poj1325 二分图的最小点覆盖
- POJ-1325-Machine Schedule-最小点覆盖(二分图-匈牙利算法)
- poj 1325 最小顶点覆盖
- POJ 1325 Machine Schedule 二分图 最小点覆盖
- POJ 1325 Machine Schedule(二分图最小点集覆盖)
- poj-3041【二分图最小顶点覆盖】
- poj 1325 Machine Schedule(最小顶点覆盖+最大匹配)
- POJ 1325 Machine Schedule 二分图 最小覆盖