• hdu 1150 Machine Schedule (二分图匹配)


    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m,k;
    int mat[110][110];
    int link[110];
    int vis[110];
    bool find(int u)
    {
        int v;
        for(v=0;v<m;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;
        int from,to;
        while(scanf("%d",&n),n)
        {
            scanf("%d%d",&m,&k);
            memset(mat,0,sizeof(mat));
            for(i=0;i<k;i++)
            {
                scanf("%d%d%d",&j,&from,&to);
                if(from>0&&to>0) mat[from][to]=1;
            }
            int ans=pipei();
            printf("%d
    ",ans);
        }
        return 0;
    }
    

    http://m.blog.csdn.net/blog/ZYY173533832/10239415

  • 相关阅读:
    Matrix Power Series
    The Noisy Party(BUPT)
    cony
    又见Fibonacci数列
    回文字符串
    街区最短路径问题
    点的变换
    可恶的麦兜(北邮)
    Travel
    Swing实现Java代码编辑器实现关键词高亮显示
  • 原文地址:https://www.cnblogs.com/sola1994/p/4735673.html
Copyright © 2020-2023  润新知