设为首页 加入收藏

TOP

poj 1274The Perfect Stall
2015-07-24 05:33:50 来源: 作者: 【 】 浏览:6
Tags:poj 1274The Perfect Stall

第一次接触二分图匹配。

这题是一个匈牙利算法的模板题直接套就行。

题意是 给你奶牛和谷仓的个数a和b,接下来a行是奶牛喜欢去的谷仓。第一个是谷仓个数,接下来是谷仓编号。

这里我们把行当奶牛,列当谷仓。

在套模板。。ok;

#include
  
   
#include
   
     int map[1005][1005]; int a,b,link[1005],use[1005]; int dfs(int cap) { int i,j; for(i=1;i<=b;i++) { if(map[cap][i]&&!use[i]) { use[i]=1; j=link[i]; link[i]=cap; if(j==-1||dfs(j)) return 1; link[i]=j; } } return 0; } int hungary() { int num=0; int i,j; memset(link,-1,sizeof(link)); for(i=1;i<=a;i++) { for(j=1;j<=b;j++) { use[j]=0; } if(dfs(i)) num++; } return num; } int main() { int i,j,c,d; while(~scanf("%d %d",&a,&b)) { memset(map,0,sizeof(map)); for(i=1;i<=a;i++) { scanf("%d",&c); for(j=1;j<=c;j++) { scanf("%d",&d); map[i][d]=1; } } printf("%d\n",hungary()); } return 0; }
   
  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇poj 3041 Asteroids 下一篇hdu1016Prime Ring Problem

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: