zoukankan      html  css  js  c++  java
  • hoj 2801 The Perfect Stall 二分图的最大匹配

    /*

     

    题目:

           每头奶牛喜欢在不同的地方产奶,每个地方只能容纳一头奶牛,问最多的产奶的地方

     

    分析:

           在产奶地与奶牛之间建立匹配,然后用hungry算法做,比如奶牛a喜欢在q地产奶,则

           g[a][q] = true,建图即可

     

    */

    #include <iostream>

    #include <cstdio>

    #include <cstring>

    using namespace std;

    #define X 202

    int xm[X],ym[X],n,m;

    bool g[X][X],use[X];

    int dfs(int u)

    {

           for(int v=1;v<=m;v++)

                  if(g[u][v]&&!use[v])

                  {

                         use[v] = true;

                         if(ym[v]==-1||dfs(ym[v]))

                         {

                                ym[v] = u;

                                xm[u] = v;

                                return true;

                         }

                  }

                  return false;

    }

    int hungry()

    {

           memset(xm,-1,sizeof(xm));

           memset(ym,-1,sizeof(ym));

           int ret = 0;

           for(int u=1;u<=n;u++)

                  if(xm[u]==-1)

                  {

                         memset(use,false,sizeof(use));

                         if(dfs(u))

                                ret++;

                  }

                  return ret;

    }

    int main()

    {

           freopen("sum.in","r",stdin);

           freopen("sum.out","w",stdout);

           while(cin>>n>>m)

           {

                  int t,x;

                  memset(g,false,sizeof(g));

                  for(int i=1;i<=n;i++)

                  {

                         scanf("%d",&t);

                         while(t--)

                         {

                                scanf("%d",&x);

                                g[i][x] = true;

                         }

                  }

                  printf("%d\n",hungry());

           }

           return 0;

    }

  • 相关阅读:
    分布式-通信(NIO&BIO&网络模型&零拷贝)
    cmake构建和链接静态库与动态库
    ldd
    CMAKE_BUILD_TYPE
    C/CXX attribute
    ffmpeg使用说明(2):ffmpeg提取video,audio,yuv/rgb,PCM
    ffmpeg使用说明(1):ffmpeg帮助使用指南
    ffmpeg使用说明(0):ffmpeg/ffplay/ffprobe
    ffplay使用帮助说明
    书写log的艺术
  • 原文地址:https://www.cnblogs.com/yejinru/p/2436083.html
Copyright © 2011-2022 走看看