zoukankan      html  css  js  c++  java
  • Machine Schedule(poj 1274)

    题目大意:有n个奶牛和m个谷仓,现在每个奶牛有自己喜欢去的谷仓,并且它们只会去自己喜欢的谷仓吃东西,问最多有多少奶牛能够吃到东西

    输入第一行给出n与m

    接着n行

    每行第一个数代表这个奶牛喜欢的谷仓的个数P,后面接着P个数代表这个奶牛喜欢哪个谷仓

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #define M 510
    using namespace std;
    int used[M],belong[M],a[M][M],n,m;
    int find(int i)
    {
        for(int j=1;j<=m;j++)
          if(!used[j]&&a[i][j])
          {
              used[j]=1;
              if(!belong[j]||find(belong[j]))
              {
                  belong[j]=i;
                  return 1;
            }
          }
        return 0;
    }
    void work()
    {
        for(int i=1;i<=n;i++)
        {
            int x,y;
            scanf("%d",&x);
            for(int j=1;j<=x;j++)
            {
                scanf("%d",&y);
                a[i][y]=1;
            }
        }
        int tot=0;
        for(int i=1;i<=n;i++)
        {
            if(find(i))
            {
                memset(used,0,sizeof(used));
                tot++;
            }
        }
        printf("%d
    ",tot);
    }
    int main()
    {
        freopen("jh.in","r",stdin);
        while(scanf("%d%d",&n,&m)==2)
        {
            memset(a,0,sizeof(a));
            memset(belong,0,sizeof(belong));
            work();
        }
        return 0;
    }
    View Code
  • 相关阅读:
    记坑
    常用模板
    ACM-东北赛划水记
    jzoj 4178游戏
    JZOI 4163
    jzoj 4146踩气球
    jzoj 5589. 缩点
    jzoj 5588 %%%
    jzoj 5571 ffs
    BJOI 2017 Kakuro
  • 原文地址:https://www.cnblogs.com/harden/p/5632064.html
Copyright © 2011-2022 走看看