zoukankan      html  css  js  c++  java
  • hdu 1068 Girls and Boys(二分图匹配)

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int mat[1010][1010];
    int link[1010];
    int vis[1010];
    int n,m;
    
    bool find(int u)
    {
        int v;
        for(v=0;v<n;v++)
        if(mat[u][v]&&!vis[v])
        {
            vis[v]=true;
            if(link[v]==-1||find(link[v]))
            {
                link[v]=u;
                return true;
            }
        }
        return false;
    }
    
    int pipei()
    {
        int res=0;
        int u;
        memset(link,-1,sizeof(link));
        for(u=0;u<n;u++)
        {
            memset(vis,0,sizeof(vis));
            if(find(u)) res++;
        }
        return res;
    }
    int main()
    {
        int i,j,k;
        int temp;
        int from ,to;
        while(scanf("%d",&n)!=EOF)
        {
            memset(mat,0,sizeof(mat));
            for(i=0;i<n;i++)
            {
                scanf("%d: (%d)",&from,&m);
                while(m--)
                {
                    scanf("%d",&to);
                    //printf("%d..
    ",to);
                    mat[from][to]=1;
                }
            }
            int ans=pipei();
            printf("%d
    ",n-ans/2);
        }
        return 0;
    }
    
  • 相关阅读:
    csrf & xss
    android_sqlite
    android_error
    oracle笔记
    android_lesson_1
    mysql 设置编码
    前端进阶Event
    前端进阶Position
    chrome插件开发资料
    dom4j selectNodes
  • 原文地址:https://www.cnblogs.com/sola1994/p/4736082.html
Copyright © 2011-2022 走看看