poj 3041 Asteroids(二分图最小顶点覆盖)
2012-12-15 20:10
399 查看
题目:http://poj.org/problem?id=3041
把X作为n1点集,y作为n2点集,x->y建立二分图,最小顶点覆盖。。
View Code
把X作为n1点集,y作为n2点集,x->y建立二分图,最小顶点覆盖。。
View Code
#include <iostream> #include<cstdio> #include<cstring> using namespace std; int n,k; int map[505][505]; int vis[505]; int link[505]; int find(int x) { int i; for(i=1;i<=n;i++) { if(map[x][i]&&!vis[i]) { vis[i]=1; if(link[i]==0||find(link[i])) { link[i]=x; return 1; } } } return 0; } int main() { int x,y,i; scanf("%d%d",&n,&k); memset(map,0,sizeof(map)); for(i=0;i<k;i++) { scanf("%d%d",&x,&y); map[x][y]=1; } int num=0; for(i=1;i<=n;i++) { memset(vis,0,sizeof(vis)); if(find(i)) num++; } printf("%d\n",num); return 0; }
相关文章推荐
- POJ 3041-Asteroids(二分图最小顶点覆盖)
- poj 3041 Asteroids( 最小顶点覆盖,二分图)
- POJ 3041 Asteroids 最小顶点覆盖
- POJ 3041 Asteroids 二分图最小点覆盖
- POJ-3041 Asteroids(二分图最小定点覆盖)
- POJ 3041 Asteroids (最小顶点覆盖)
- poj 3041 Asteroids 最小顶点覆盖 && 二分匹配
- poj-3041-Asteroids【二分匹配&&最小顶点覆盖】
- 【POJ 3041 】Asteroids (匈牙利算法最小点覆盖&二分图)
- poj 3041 二分图最小顶点覆盖 小行星删行或列
- POJ 3041 Asteroids(最小顶点覆盖)
- POJ训练计划3041_Asteroids(二分图/最小点覆盖=最大匹配)
- poj 3041 Asteroids(二分图 *【矩阵实现】【最小点覆盖==最大匹配数】)
- POJ-3041-Asteroids(二分图最小点覆盖)
- POJ 3041 Asteroids 最小点覆盖 == 二分图的最大匹配
- POJ 3041 Asteroids (二分图最小点覆盖)
- POJ 3041 Asteroids(最小顶点覆盖)
- POJ - 3041 Asteroids 二分图 最小点覆盖
- poj 3041 Asteroids -二分匹配-最小顶点覆盖
- POJ-----3041Asteroids---二分图最小区间覆盖