题目意思:
p门课,n个学生,每一门课都有若干学生可以当代表。当然,每一个学生最多只能是一门课的代表。
问:能否为每一门课都选出一个学生当代表。
本题要点:
1、二分图最大匹配:
左部节点:课程的编号;
右部节点:学生的编号;
用邻接矩阵存放 图,使用增光路算法求出最大匹配数。
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int MaxN = 310;
int a[MaxN][MaxN], match[MaxN];
int T, p, n;
bool vis[MaxN];
bool dfs(int x)
{
for(int y = 1