zoukankan      html  css  js  c++  java
  • poj 1274The Perfect Stall

    第一次接触二分图匹配。

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

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

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

    在套模板。

    。ok;

    #include<Stdio.h>
    #include<string.h>
    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
    ",hungary());
    	}
    	return 0;
    }

      

  • 相关阅读:
    原生小程序音频播放
    Vue定义全局过滤器filter
    系统扩展性之引入外部包
    oracle update join
    OAuth2
    oracle pl/sql
    MySQL同步工具otter的使用介绍(一)
    python批量安装apk
    mac brew安装redis
    antd 修改Modal的底部按钮颜色
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5081986.html
Copyright © 2011-2022 走看看