【二分图匹配】hdu 4160 Dolls
来源:互联网 发布:云计算虚拟化技术 编辑:程序博客网 时间:2024/06/10 11:56
http://acm.hdu.edu.cn/showproblem.php?pid=4160
题意:每一个doll有三个属性:wi,li,hi,如果di、dj满足的wi < wj , li < lj , and hi < hj ,那么di可以放到dj里,并且每个doll最多只能装一个doll,求最外层的doll最少有多少个
分析:n-二分图的最大匹配
#include <iostream>#include <cstdio>using namespace std;const int NM=505;int a[NM][NM],link[NM],flag[NM],n;struct Node{int x,y,z;}doll[NM];int Find(int x){for(int i=0;i<n;i++){if(a[x][i]&&!flag[i]){flag[i]=1;if(link[i]==-1||Find(link[i])){link[i]=x;return 1;}}}return 0;}int main(){int i,j,ans; while(scanf("%d",&n)&&n) {memset(a,0,sizeof(a));memset(link,-1,sizeof(link)); for(i=0;i<n;i++){scanf("%d%d%d",&doll[i].x,&doll[i].y,&doll[i].z);for(j=0;j<i;j++){if(doll[i].x<doll[j].x&&doll[i].y<doll[j].y&&doll[i].z<doll[j].z) //匹配规则a[j][i]=1;if(doll[i].x>doll[j].x&&doll[i].y>doll[j].y&&doll[i].z>doll[j].z)a[i][j]=1;}}ans=0;for(i=0;i<n;i++){memset(flag,0,sizeof(flag));if(Find(i))ans++;}printf("%d\n",n-ans); } return 0;}
- 【二分图匹配】hdu 4160 Dolls
- hdu 4160 Dolls【最小路径覆盖----二分匹配】
- HDU 4160Dolls (二分图)
- hdu 4160 Dolls--最小点集覆盖=V-二分图最大匹配
- HDU 4160 Dolls(二分图匹配+匈牙利算法+最小路径覆盖)
- hdu 4160 Dolls 二分图最小路径覆盖
- hdu 4160 Dolls 匈牙利算法求最大匹配
- HDU 4160 Dolls 匈牙利算法求最大匹配数
- Dolls hdu 4160 匈牙利算法求出最大匹配值
- hdu 4160 Dolls
- hdu 4160 Dolls
- hdu 4160 Dolls
- HDU OJ 1677 Nested Dolls【二分,LIS】
- HDU 1677 Nested Dolls(排序+二分)
- HDOJ 题目4160Dolls(二分图,最小路径覆盖)
- HDU 4160 (ZZULI 1598) Dolls(二分…
- HDU 4160 Dolls (最小路径覆盖=顶点数-最大匹配数)
- HDU-2063 二分图匹配
- ORA-00600(kdsgrp1)
- 论坛开源项目推荐(11月26日)
- 《代码阅读方法与实践》摘录(二)
- php保存文章中远程图片到本地
- 嵌入式书籍推荐
- 【二分图匹配】hdu 4160 Dolls
- Putty的全屏与退出
- att
- iOS下完美编译ffmpeg+x264,支持armv7, armv7s, 模拟器 (验证不通过,估计和ffmpeg版本有关)
- maven工程依赖包导出
- ubuntu编译环境android
- log4cxx 在C++日志中的应用
- baidumap反解析地名
- PL/SQL Developer快速输入select * from等语句快捷键设置