求一个集合最多几个人,其之间任意两人没有暧昧关系。
二分图匹配
最大独立集 = 总点数 - 最大匹配数
匈牙利算法
因为每个同学都在二分图的两侧
当 A与B匹配时,B与A也匹配
所以 所求的最大匹配数要除以2
1 #include2 #include 3 #include 4 #include 5 using namespace std; 6 const int maxn=1000; 7 int n,a,m,b; 8 vector map[maxn]; 9 int link[maxn];10 int vis[maxn];11 bool dfs(int t)12 {13 int size=map[t].size();14 for(int i=0;i