zoukankan      html  css  js  c++  java
  • (补题 HDU 1068 )Girls and Boys(二分图最大匹配)

    原题链接戳我

    题目大意

    给你n个学生,编号从(0sim{n-1}),接下来每一行代表编号为(i)学生的“浪漫”关系人数以及其对应的学生编号(S_i),让你求出被包含在“浪漫关系”中最大的人数(就是有哪些人相互之间有关系)

    Sample Input

    
    7
    0: (3) 4 5 6
    1: (2) 4 6
    2: (0)
    3: (0)
    4: (2) 0 1
    5: (1) 0
    6: (2) 0 1
    3
    0: (2) 1 2
    1: (1) 0
    2: (1) 0
    
    

    Sample Output

    
    5
    2
    
    

    解题思路

    不多说先上图

    img

    loading......

    代码样例

    
    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 1000;
    int e[maxn][maxn];
    int match[maxn];
    bool book[maxn];
    int n;
    
    bool dfs(int u)
    {
        for (int i = 0; i < n; i++)
        {
            if (book[i] == false && e[u][i] == 1)
            {
                book[i] = true;
                if (match[i] == 0 || dfs(match[i]))
                {
                    match[i] = u;
                    return true;
                }
            }
        }
        return false;
    }
    
    int main()
    {
        while (~scanf("%d", &n))
        {
            int sum = 0;
            memset(e, 0, sizeof(e));
            memset(match, 0, sizeof(match));
            for (int i = 0; i < n; i++)
            {
                int fr, m;
                char a,b,c,f;
                scanf("%d%c%c",&fr,&a,&f);
    			scanf("%c%d%c",&b,&m,&c);
                // cout << f << " " << m << endl;
                for (int j = 0; j < m; j++)
                {
                    int to;
                    scanf("%d", &to);
                    e[fr][to] = 1;
                }
            }
            for (int i = 0; i < n; i++)
            {
                memset(book, false, sizeof(book));
                if (dfs(i))
                    sum++;
            }
            printf("%d
    ", n - sum / 2);
        }
        return 0;
    }
    
    
  • 相关阅读:
    hust 1260 Dominos && hust 1516 Dominos
    poj 1149 PIGS
    hust 1230 beautiful
    poj 1469 COURSES
    hdu 3062 Party
    hust 1027 Enemy Target!
    hdu 3415 Max Sum of Max-K-sub-sequence
    简单的实现轮播代码
    window.parent与window.openner区别介绍
    plupload使用指南(转)
  • 原文地址:https://www.cnblogs.com/cafu-chino/p/11761635.html
Copyright © 2011-2022 走看看