HDU 1083 Courses(二分图最大匹配)

 

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1083

       题意是有n门课程,每一门课程有若干名学生,然后要求每门课程能不能选出一名学生当课代表,一个学生只能当一门课的课代表,如果可以输出YES,否则输出NO。

       思路就是对课程和学生建有向图,然后跑匈牙利算法求最大匹配数,如果等于课程数就是YES。匈牙利算法的裸题...


AC代码:

#include 
#define maxn 305
using namespace std;
vector G[maxn];
int pre[maxn];
int col[maxn];
bool vis[maxn];
int T,n,m;

void init(){
  for(int i=0;i<=n;i++){
    G[i].clear();
    col[i] = 0;
  }
}

bool dfs(int x){
  for(int i=0;i

 

你可能感兴趣的:(ACM_二分图)