HDU 4160 Dolls (二分图)
2016-04-22 16:11
281 查看
PS:类似于盒子问题,给定盒子的长宽高的大小,只不过多了一个高。
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; struct node{ int l,h,w; }q[601]; int mp[601][601]; bool op(node a,node b){ return a.l*a.h<b.l*b.h; } int cro[601],n; bool vis[601]; bool so(int x){ for(int i = n;i >=1;-- i){ if(mp[x][i]&&!vis[i]){ vis[i] = true; if(cro[i] == -1||so(cro[i])){ cro[i] = x; return true; } } } return false; } int main() { int m,i,j,k,ans; while(~scanf("%d",&n)&&n){ memset(mp,0,sizeof(mp)); for(i = 1;i <= n;++ i){ scanf("%d%d%d",&q[i].l,&q[i].w,&q[i].h); } sort(q+1,q+1+n,op); for(i = 1;i <= n;++i ){ for(j = i+1 ;j <= n;++ j){ if(q[j].l > q[i].l&&q[j].h > q[i].h&&q[j].w> q[i].w) mp[i][j]=1; } } ans = n; memset(cro,-1,sizeof(cro)); for(i = n;i >=1;-- i){ memset(vis,false,sizeof(vis)); if(so(i)) ans--; } printf("%d\n",ans); } return 0; }
相关文章推荐
- Bad Horse - Practice Round China New Grad Test 2014 - BFS - 二分图判定
- hdu 1281 二分图匹配求匹配边以及增广链
- 二分图不带权匹配
- Codeforce 85E (二分答案+二分图染色)
- 无向图的最小边覆盖
- Hdu2063—过山车 二分图最大匹配
- Codeforces498C解题报告
- poj_3041
- uva 1201
- uva12083
- hdu 2255
- 棋盘游戏
- [Usaco2011 Nov]Cow Steeplechase奶牛越野跑(二分图裸题)
- 【图论-二分图】学生的住宿
- hdu2603
- hdu4619
- 匈牙利算法
- POJ2446 CHESSBOARD
- POJ 2112 (二分图多重匹配)
- uva10004 Bicoloring 二分图染色