POJ 1469 ZOJ 1140 Courses 二分图匹配
2013-04-09 22:39
489 查看
继续匈牙利二分匹配,其实我都不知道怎样写匈牙利算法,只是记住了可以这样写,悲哀啊
唉````
裸的二分匹配,贴代码:
View Code
唉````
裸的二分匹配,贴代码:
View Code
#include <cstdio> #include <cstring> #define MAXC 105 #define MAXS 305 bool g[MAXC][MAXS]; bool used[MAXS]; int p,n; int xx[MAXC],yy[MAXS]; void init() { int i,j; scanf("%d%d",&p,&n); memset(g,0,sizeof(g)); for(i=0; i<p; ++i) { int num,st; scanf("%d",&num); for(j=0; j<num; ++j) { scanf("%d",&st); g[i][st]= 1; } } } bool path(int u) { int v; for(v=1; v<=n; ++v) { if(g[u][v] && !used[v]) { used[v] = 1; if(yy[v] == -1 || path(yy[v])) { xx[u] = v; yy[v] = u; return 1; } } } return 0; } void maxMatch() { int i; memset(xx,0xff,sizeof(xx)); memset(yy,0xff,sizeof(yy)); int ans = 0; for(i=0; i<p; ++i) { if(xx[i] == -1) { memset(used,0,sizeof(used)); if(path(i)) ++ans; } } if(ans == p) printf("YES\n"); else printf("NO\n"); } int main() { // freopen("in.cpp","r",stdin); int T; scanf("%d",&T); while(T--) { init(); maxMatch(); } return 0; }
相关文章推荐
- POJ 1274 The Perfect Stall || POJ 1469 COURSES(zoj 1140)二分图匹配
- POJ 1274 The Perfect Stall || POJ 1469 COURSES(zoj 1140)二分图匹配
- zoj 1140 poj 1469 COURSES(二分图匹配 匈牙利算法)
- POJ 1469 && ZOJ 1140 --COURSES【二分图 && 最大匹配】
- zoj 1140 || poj 1469 Courses
- POJ 1469 COURSES【二分图匹配】
- poj 1469 COURSES (二分图匹配)
- POJ 1469-COURSES(二分图匹配入门-匈牙利算法)
- COURSES - POJ 1469 二分图匹配
- POJ 1469 COURSES(二分图匹配)
- poj题目1469 COURSES (二分图匹配,匈牙利算法)
- poj 1469 COURSES 二分图匹配
- poj 1469 || hdu 1083 Courses (二分图匹配)
- POJ 1469 COURSES(二分图匹配模板题)
- POJ 1469 ZOJ1140 二分匹配裸题
- POJ 1469 COURSES(最大二分图匹配)
- POJ 1469 ZOJ1140 二分匹配裸题
- poj 1469 COURSES 二分图匹配初识
- poj 1469 COURSES 最大匹配
- POJ1469[COURSES] 二分图最大匹配 匈牙利算法