zoukankan      html  css  js  c++  java
  • hdu 2063 二分图 水题 最多多少组合数

    基础二分图应用,注意理解

    #include <stdio.h>
    #include <string.h>
    
    int k,m,n,a[501][501];
    
    int visit[501];
    
    int linker[501];
    
    int dfs(int u)
    {
        int i;
    
        //visit[u]=1;
    
        for(i=1;i<=n;i++)
        {
            if(a[u][i]&&!visit[i])
            {
                visit[i]=1;
                if(linker[i]==-1||dfs(linker[i]))
                {
                    linker[i]=u;
                    return 1;
                }
            }
        }
        
    
        return 0;
    }
    
    int main()
    {
        int start,end,res,i;
    
        while(scanf("%d",&k),k)
        {
            scanf("%d%d",&m,&n);
    
            memset(a,0,sizeof(a));
    
            for(i=1;i<=k;i++)
            {
                scanf("%d%d",&start,&end);
                a[start][end]=1;
            }
    
            memset(linker,-1,sizeof(linker));
    
            res=0;
    
            for(i=1;i<=m;i++)
            {
                memset(visit,0,sizeof(visit));
    
                if(dfs(i))
                    res++;
            }
            printf("%d\n",res);
        }
    
        return 0;
    }
    

      

  • 相关阅读:
    css定位
    css盒子
    css元素分类
    Css属性
    Css基础2
    啊啊啊啊
    函数指针
    重载函数
    成员函数
    资源网站
  • 原文地址:https://www.cnblogs.com/jackes/p/2423830.html
Copyright © 2011-2022 走看看