HDU 3605(多重最大匹配)
来源:互联网 发布:知豆新能源汽车价格表 编辑:程序博客网 时间:2024/05/22 20:32
#include<stdio.h>#include<string.h>const int N=1e5+11,M=11;int a[N][M],match[M][N],cnt[M],cap[M],p[M];int n,m;inline void in(int &res){char c;while((c=getchar())<'0'||c>'9');res=c-'0';while((c=getchar())>='0'&&c<='9')res=res*10+c-'0';}int dfs(int u){for(int i=1;i<=m;i++){if(a[u][i]&&!p[i]){p[i]=1;if(cnt[i]<cap[i]){match[i][++cnt[i]]=u;return 1;}else{for(int j=1;j<=cap[i];j++){if(dfs(match[i][j])){match[i][j]=u;return 1;}}}}}return 0;}int maxmatch(){memset(cnt,0,sizeof(cnt));memset(match,-1,sizeof(match));int ans=0;for(int i=1;i<=n;i++){memset(p,0,sizeof(p));if(dfs(i))ans++;elsereturn 0;}return ans;}int main(){while(scanf("%d%d",&n,&m)!=EOF){memset(a,0,sizeof(a));for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){in(a[i][j]);}}for(int j=1;j<=m;j++)in(cap[j]);printf("%s\n",maxmatch()==n?"YES":"NO");}return 0;}
0 0
- HDU 3605(多重最大匹配)
- hdu 3605 (二分图多重匹配或最大流)
- hdu 3605 Escape 多重匹配模板 (Hungary ) | 最大流
- hdu 3605(多重匹配)
- HDU--3605 Escape (多重匹配)
- hdu 3605 Escape(最大流+状态压缩 or 二分图多重匹配)
- HDU-3605 Escape(状态压缩+最大流求多重匹配、改版匈牙利算法)
- hdu 3605 二分图多重匹配
- hdu 3605 Escape(多重匹配)
- hdu 3605 二分图多重匹配
- hdu 3605 Escape (二分图多重匹配)
- hdu 3605 Escape(多重匹配)
- hdu 3605 Escape【二分图多重匹配】
- HDU 3605 Escape【二分图多重匹配】
- hdu 3605 二分图多重匹配
- hdoj 3605 Escape 【中等最大流 | 二分图多重匹配】
- HDU 1669 二分+多重匹配
- hdu 1669 Jamie's Contact Groups(二分+二分图最大多重匹配)
- Cpp--opencv中连续储存多帧图片技巧
- 关于this指针
- Kubernetes系统架构简介
- latex使用相关
- hdoj2045不容易系列之(3)—— LELE的RPG难题<递推>
- HDU 3605(多重最大匹配)
- VR眼镜精简版
- Android照片墙应用实现,再多的图片也不怕崩溃
- SQL语句 - 嵌套查询
- 大型网站架构不得不考虑的 10 个问题
- spring MVC 时间转date(四)--mybatis传入起始时间时,但这传入时间的参数不是bean里的解法
- 洛谷P1415 拆分数列
- HTML特殊字符编码对照表
- iOS发布版本禁用NSLog输出,减少资源消耗