zoukankan      html  css  js  c++  java
  • 【二分图】 poj 1466

    #include <iostream>
    #include <memory.h>
    #include <cstdio>
    using namespace std;
    int c;
    const int maxn=502;
    int visit[maxn],map[maxn][maxn],link[maxn];
    bool DFS(int a)
    {
        for(int i=0;i<c;i++)
        {
            if(!visit[i] && map[a][i])
            {
                visit[i]=1;
                if(link[i]==-1 || DFS(link[i]))
                {
                    link[i]=a;
                    return true;
                }
            }
        }
        return false;
    }
    int main()
    {
    //    freopen("in.txt","r",stdin);
        int x,y,tmp;
        while(cin >> c)
        {
            memset(map,0,sizeof(map));
            memset(link,-1,sizeof(link));
            for(int i=0;i<c;i++)
            {
                scanf("%d: (%d)",&x,&y);
                for(int j=0;j<y;j++)
                {
                    scanf("%d",&tmp);
                    map[i][tmp]=1;
                }
            }
            int sum=0;
            for(int i=0;i<c;i++)
            {
                memset(visit,0,sizeof(visit));
                if(DFS(i))sum++;
            }
            cout << c-sum/2 <<endl;
        }
         return 0;
    }
  • 相关阅读:
    tf.get_variable
    tf.Variable
    tf.placeholder
    conda命令详解
    linux查看程序运行时占用的内存
    ubuntu安装openssh-server
    sed命令
    二分查找
    vue简单使用
    斐波那契数列求解
  • 原文地址:https://www.cnblogs.com/balfish/p/4015224.html
Copyright © 2011-2022 走看看