poj 1469 COURSES 最大二分匹配
2011-01-29 21:05
417 查看
这题也是赤裸裸的最大二分匹配。在最后加个判断即可。
注意,用cin会超时,要用scanf
注意,用cin会超时,要用scanf
#include<iostream> using namespace std; const int MAX = 305; bool arcs[MAX][MAX]; bool isvisit[MAX]; int match[MAX]; int n, m; bool find(int u) { for (int i = 1; i <= m; i++) if (arcs[u][i] && !isvisit[i]) { isvisit[i] = true; if (!match[i] || find(match[i])) { match[i] = u; return true; } } return false; } int main() { int k; int num; int cases; cin >> cases; while (cases--) { scanf("%d%d", &n, &m); memset(arcs, false, sizeof(arcs)); memset(match, 0, sizeof(match)); for (int i = 1; i <= n; i++) { scanf("%d", &k); for (int j = 0; j < k; j++) { scanf("%d", &num); arcs[i][num] = true; } } int ans = 0; for (int i = 1; i <= n; i++) { memset(isvisit, false, sizeof(isvisit)); if (find(i)) ans++; } if (ans == n) printf("YES\n"); else printf("NO\n"); } return 0; }
相关文章推荐
- 利用匈牙利算法&Hopcroft-Karp算法解决二分图中的最大二分匹配问题 例poj 1469 COURSES
- POJ 1469 二分图最大匹配 COURSES
- poj 1469 COURSES (二分图最大匹配)
- 【二分图|最大匹配】POJ-1469 COURSES
- poj 1469 COURSES 二分匹配 dfs
- poj 1469 COURSES (二分匹配)
- POJ 1469 COURSES(二分图最大匹配)
- Poj1469_匈牙利算法_最大二分匹配
- poj 1469 COURSES 【二分匹配】
- poj 1469 COURSES 二分匹配 dfs
- POJ 1469 COURSES(二分图最大匹配)
- POJ-1469-COURSES(二分图最大匹配)
- 【POJ1469】Courses-二分图最大匹配
- POJ 1469 COURSES(二分图最大匹配) (矩阵和邻接表的模板题)
- poj 1469 COURSES (二分匹配)
- POJ 1469 COURSES (二分匹配,邻接表)
- POJ1469[COURSES] 二分图最大匹配 匈牙利算法
- poj 1469 COURSES(二分匹配 vector 邻接表 实现)
- 【二分图最大匹配】【匈牙利算法】poj1469 COURSES && poj2446 Chessboard
- POJ 1469 COURSES 二分图最大匹配