博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
No.31- POJ1469 二部图最大匹配模版题
阅读量:4059 次
发布时间:2019-05-25

本文共 805 字,大约阅读时间需要 2 分钟。

// ShellDawn// POJ1469// No.31#include
#include
#include
#include
#include
#include
#define MM(x,y) memset(x,y,sizeof(x))#define INF 0x3f3f3f3f#define LL long longusing namespace std;//int E[305][105];int N,P;int Link[105],V[105];bool dfs(int x){ for(int i=1;i<=P;i++){ if(V[i] == 0 && E[x][i] == 1){ V[i] = 1; int L = Link[i]; if(L == 0 || dfs(L)){ Link[i] = x; return true; } } } return false;}int hungary(){ int ans = 0; MM(Link,0); for(int i=1;i<=N;i++){ MM(V,0); if(dfs(i)) ans++; } return ans;}int main(){ int T; scanf("%d",&T); while(T--){ MM(E,0); scanf("%d%d",&P,&N); for(int i=1;i<=P;i++){ int t; scanf("%d",&t); while(t--){ int stu; scanf("%d",&stu); E[stu][i] = 1; } } if(hungary() == P) puts("YES"); else puts("NO"); } return 0;}

转载地址:http://nnwji.baihongyu.com/

你可能感兴趣的文章
【数据结构周周练】003顺序栈与链栈
查看>>
【数据结构周周练】004顺序栈与链栈 -数制转换
查看>>
C++函数返回值介绍(含return 0 与 return 1 与 return -1介绍)
查看>>
C++报错:读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突
查看>>
【数据结构周周练】005顺序队列与链队 -扑克牌的筛选
查看>>
【数据结构周周练】006队列基本操作-顺序结构及链式结构实现
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
【数据结构周周练】007顺序结构实现完全二叉树操作- 求编号i与j最近公共祖先结点
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
【数据结构周周练】009 二叉树的先序、中序、后序遍历(递归算法实现)
查看>>
【数据结构必备基本知识】递归与迭代的联系、区别与优缺点对比详解
查看>>
【数据结构周周练】010 递归算法实现二叉树的创建与遍历
查看>>
【数据结构周周练】011 非递归算法实现二叉树的遍历
查看>>
【数据结构周周练】012 利用队列和非递归算法实现二叉树的层次遍历
查看>>
【数据结构周周练】013 利用栈和非递归算法求二叉树的高
查看>>
【数据结构周周练】014 利用栈和非递归算法求链式存储的二叉树是否为完全二叉树
查看>>
【数据结构周周练】015 利用递归算法创建链式存储的二叉树并转换左右孩子结点
查看>>
【数据结构周周练】016 利用递归算法及孩子兄弟表示法创建树、遍历树并求树的深度
查看>>
【数据结构周周练】017 利用递归算法及孩子兄弟表示法创建森林、遍历森林并求森林的叶子结点个数
查看>>