POJ1469[COURSES] 二分图最大匹配 匈牙利算法
2017-09-02 19:12
489 查看
题目链接
题意:题目大意:将vy个工作分配给vx个学生,求能不能每个同学都有分配到工作。
解题思路:二分图匹配,看匹配数是否等于课程数
#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 305; const int P = 105; int T , line , w[P] ; int p, n; bool find(int u){ for ( int i=1; i<=n; i++ ) if( !T[i] && w[u][i] ){ T[i]=1; if( !line[i] || find(line[i]) ){ line[i]=u; return true; } } return false; } int Hungarian(){ int ans=0; memset(line,0,sizeof(line)); for ( int i=1; i<=p; i++ ){ memset(T,0,sizeof(T)); if( find(i) ) ans++; } return ans; } int main(){ int tt; scanf("%d", &tt ); while( tt-- ){ memset(w,0,sizeof(w)); scanf("%d%d", &p, &n ); for ( int i=1; i<=p; i++ ){ int x; scanf("%d", &x ); for ( int j=1; j<=x; j++ ){ int v; scanf("%d", &v ); w[i][v]=1; } } (Hungarian()==p) ? puts("YES") : puts("NO"); } }
相关文章推荐
- POJ 1469 COURSES(匈牙利算法二分图最大匹配)
- POJ 1469 COURSES (二分图最大匹配 匈牙利算法)
- poj 1469 COURSES 二分图最大匹配 匈牙利算法
- 【二分图最大匹配】【匈牙利算法】poj1469 COURSES && poj2446 Chessboard
- 利用匈牙利算法&Hopcroft-Karp算法解决二分图中的最大二分匹配问题 例poj 1469 COURSES
- POJ 1469 COURSES【匈牙利算法入门 二分图的最大匹配 模板题】
- POJ 1469 COURSES【匈牙利算法入门 二分图的最大匹配 模板题】
- Pku acm 1469 COURSES 数据结构题目解题报告(十一)---- 匈牙利算法求二分图的最大匹配
- POJ1469(匈牙利算法求二分图最大匹配)
- POJ1469 COURSES 【二分图最大匹配·HK算法】
- poj - 3041 Asteroids (二分图最大匹配+匈牙利算法)
- POJ 1469 COURSES【二分图最大匹配】
- POJ 1469 COURSES 二分图最大匹配
- 【二分图|最大匹配】POJ-1469 COURSES
- poj 1469 COURSES 二分图最大匹配
- poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
- POJ 1469 COURSES(二分图最大匹配)
- poj 2446 二分图最大匹配 匈牙利算法
- Poj1469_匈牙利算法_最大二分匹配
- POJ 1274 The Perfect Stall (二分图最大匹配入门题,匈牙利算法)