hdu 1179 匈牙利算法
来源:互联网 发布:淘宝网电子管功放机 编辑:程序博客网 时间:2024/05/29 10:10
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<algorithm>#include<cstdlib>#include<map>#include<queue>#include<deque>#include<list>#include<ctime>#include<stack>#include<vector>#include<iomanip>#include<set>#include<bitset>#include<cassert>using namespace std;#define Maxn 1024#define modtypedef long long ll;typedef pair<int, int> PII;#define FOR(i,j,n) for(int i=j;i<=n;i++)#define DFR(i,j,k) for(int i=j;i>=k;--i)#define lowbit(a) a&-a#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define mem(a) memset(a,0,sizeof(a))#define eps 1e-9#define PB push_back#define MP make_pair#define AA first#define BB second#define SZ size()#define BG begin()#define OP begin()#define ED end()#define SQ(x) ((x)*(x))const int inf = 0x7f7f7f7f;const double pi = acos(-1.0);int e[Maxn][Maxn];int book[Maxn],match[Maxn];int n,m;int DFS(int u){ FOR(i,1,n) { if(e[u][i]&&!book[i]) {book[i]=1; if(!match[i]||DFS(match[i])) { match[i]=u; return 1; } } } return 0;}int main(){ while(~scanf("%d%d",&n,&m)) { mem(e); FOR(i,1,m) { int w; scanf("%d",&w); while(w--) { int p; scanf("%d",&p); e[i][p]=1; } } mem(match); int sum=0; FOR(i,1,m) { mem(book); if(DFS(i))sum++; } cout<<sum<<endl; } return 0;}
0 0
- Hdu 1179(匈牙利算法)
- hdu 1179 匈牙利算法
- hdu 1150 匈牙利算法
- HDU 2063 匈牙利算法
- hdu 1498 匈牙利算法
- 匈牙利算法 HDU 2063
- hdu 1083 匈牙利算法
- hdu 2063 匈牙利算法
- HDU 2063 匈牙利算法
- hdu 1151 匈牙利算法
- hdu 1281 匈牙利算法
- hdu 1498 匈牙利算法
- hdu 2063 匈牙利算法
- HDU 2063(匈牙利算法)
- hdu 5727(匈牙利算法)
- hdu 1150-匈牙利算法
- hdu 2064 匈牙利算法
- 匈牙利算法之hdu:2063
- 偷天换日:网络劫持,网页js被伪装替换。
- 【chgrp】修改文件属组
- apktool反编译apk,提取资源文件
- 基于QtQuick2.0开发的诸多漂亮的界面例子(作为入门首选)
- DevExpress控件使用小结
- hdu 1179 匈牙利算法
- 实现界面的跳转
- Android系统定位获取经纬度
- 【chmod】修改文件权限
- 基于装饰者模式,重构RecyclerView快速适配
- LeetCode *** 309. Best Time to Buy and Sell Stock with Cooldown
- 自然数转换为二维矩阵可用于笛卡尔乘积型数据进行内存分页
- 【chown】 改变文件属主
- Android子线程中更新UI的3种方法