zoukankan      html  css  js  c++  java
  • hdu 3729 I'm Telling the Truth 二分图匹配

    裸的二分图匹配。需要输出方案。


    #include<cstdio>
    #include<cstring>
    #include<vector>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    #define M 100005
    #define N 65
    bool vis[M];
    vector<int> g[N];
    int now[M];
    int n,m;
    int dfs(int k)
    {
        for(int i=0;i<g[k].size();i++)
        {
            int boy=g[k][i];
            if(!vis[boy])
            {
                vis[boy]=1;
                if(now[boy]==0||dfs(now[boy]))
                {
                    now[boy]=k;
                    return 1;
                }
            }
        }
        return 0;
    }
    int main()
    {
        int a,b,ans;
        int k;
        int cas;
        scanf("%d",&cas);
        while(cas--)
        {
            scanf("%d",&n);
            for(int i=1;i<=n;i++) g[i].clear();
            memset(now,0,sizeof(now));
            int maxn=0;
            for(int i=1;i<=n;i++)
            {
                scanf("%d%d",&a,&b);
                maxn=max(maxn,b);
                for(int j=a;j<=b;j++)
                g[i].push_back(j);
            }
            ans=0;
            for(int i=n;i>=1;i--)
            {
                memset(vis,0,sizeof(vis));
                ans+=dfs(i);
            }
            printf("%d
    ",ans);
            int aa[66];
            int top=0;
            for(int i=1;i<=maxn;i++)
            {
                if(now[i])
                {
                    aa[top++]=now[i];
                }
            }
            sort(aa,aa+top);
            for(int i=0;i<top;i++)
            {
                if(i) printf(" %d",aa[i]);
                else printf("%d",aa[i]);
            }
            puts("");
        }
        return 0;
    }
    


  • 相关阅读:
    Win10找不到gpedit.msc解决方法
    分类问题的评价指标
    配置Sublime的C/C++编译环境(无脑入门)
    bilibili1024安全挑战赛(Q1-Q5)
    Cmder的安装与配置
    DockerStack 实战
    docker-swarm实战
    docker-compose实战
    docker网络(二)
    docker网络(一)
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3358128.html
Copyright © 2011-2022 走看看