POJ 1469 COURSES(二分图匹配模板题)
来源:互联网 发布:整理照片的软件 编辑:程序博客网 时间:2024/05/21 14:08
http://poj.org/problem?id=1469
题意:给出p个科目n个同学,问是否存在一种方案,使得每个科目都有一个科代表,这个科代表不可以同时兼任多个科目。科代表只能在该科目的同学中选。
代码如下:
#include<cstdio>#include<queue>#include<vector>#include<iostream>#include<map>#include<cmath>#include<cstring>#include<algorithm>#include<set>using namespace std;#define N 305 int useif[N];int link[N];int mat[N][N];int gn, gm;int can(int t) { int i; for(i = 1; i <= gm; i++) { if(useif[i] == 0 && mat[t][i]) { useif[i] = 1; if(link[i] == -1 || can(link[i])) { link[i] = t; return 1; } } } return 0; } int MaxMatch() { int i, num; num = 0; memset(link, 0xff, sizeof(link)); for(i = 1; i <= gn; i++) { memset(useif, 0, sizeof(useif)); if(can(i)) num++; } return num; } int main(){int i, k, tmp, T;cin >> T;while(T--){scanf("%d%d", &gn, &gm);memset(mat, 0, sizeof(mat));for(i = 1; i <= gn; i++){scanf("%d", &k);while(k--){scanf("%d", &tmp);mat[i][tmp] = 1;}}tmp = MaxMatch();//printf("%d\n", tmp);if(tmp == gn)cout << "YES" << endl;elsecout << "NO" << endl;}return 0;}
0 0
- POJ 1469 COURSES(二分图匹配模板题)
- poj 1469 COURSES(二分匹配模板)
- POJ 1469 COURSES【匈牙利算法入门 二分图的最大匹配 模板题】
- POJ 1469 COURSES(二分图最大匹配) (矩阵和邻接表的模板题)
- 【二分图匹配】HDU1083-Courses【模板题】
- poj 1469 COURSES 二分图匹配初识
- poj 1469 COURSES 二分图匹配
- POJ 1469 二分图最大匹配 COURSES
- POJ 1469 COURSES(二分图最大匹配)
- COURSES - POJ 1469 二分图匹配
- 【二分图|最大匹配】POJ-1469 COURSES
- poj 1469 COURSES 二分图最大匹配
- poj 1469 COURSES (二分图匹配)
- POJ 1469 COURSES(二分图匹配)
- POJ 1469 COURSES(二分图最大匹配)
- POJ 1469 COURSES(最大二分图匹配)
- POJ-1469 COURSES(二分图最大匹配)
- poj 1469 COURSES 【二分匹配】
- 字符串转换,大写变小写,小写变大写
- Device Tree常用方法解析
- MySQL数字类型int与tinyint、float与decimal如何选择
- iOS与unity3D交互整合的那些事
- LoRaWAN 规范1.0 (1.0.2) 第七章
- POJ 1469 COURSES(二分图匹配模板题)
- C# 入门(3) 变量(variable)、常量(constant)、只读(readonly)变量
- VUE基本指令(v-model,v-html,v-text,v-bind,v-if,v-show,v-for,v-on:click,组件,过滤器)
- Android中为什么主线程不会因为Looper.loop()方法造成阻塞
- 关于数据可视化
- Renthop Kaggle competition Summary
- Linux I2C设备驱动编写
- 半闲居士视觉SLAM十四讲笔记(4)李群与李代数
- Hadoop原理---HDFS中的NameNode和DataNode