hdu-1179(匈牙利算法)
Posted 2018zxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu-1179(匈牙利算法)相关的知识,希望对你有一定的参考价值。
题目链接:
思路:找n个巫师和m个魔棒匹配的问题,匈牙利算法模板
匈牙利算法:https://blog.csdn.net/sunny_hun/article/details/80627351
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn = 220; int vis[maxn],a[maxn][maxn],p[maxn],m,n; int dfs(int x) { for(int i=1;i<=n;i++) { if(!vis[i]&&a[x][i]) { vis[i]=1; if(p[i]==-1||dfs(p[i])) { p[i]=x; return 1; } } } return 0; } int main(void) { int i,j,k,x; while(~scanf("%d%d",&n,&m)) { memset(a,0,sizeof(a)); for(i=1;i<=m;i++) { scanf("%d",&k); for(j=1;j<=k;j++) scanf("%d",&x),a[i][x]++; } memset(p,-1,sizeof(p)); int ans=0; for(i=1;i<=m;i++) { memset(vis,0,sizeof(vis)); if(dfs(i)) ans++; } printf("%d ",ans); } return 0; }
以上是关于hdu-1179(匈牙利算法)的主要内容,如果未能解决你的问题,请参考以下文章
HDU——1179 Ollivanders: Makers of Fine Wands since 382 BC.
hdu-1179 Ollivanders: Makers of Fine Wands since 382 BC.---二分图匹配模板