• poj 2239 Selecting Courses


    二分图基础。

    求二分图最大匹配(匈牙利算法)。

    View Code
     1 /*
     2 Author:Zhaofa Fang
     3 Lang:C++
     4 */
     5 #include <cstdio>
     6 #include <cstdlib>
     7 #include <iostream>
     8 #include <cmath>
     9 #include <cstring>
    10 #include <algorithm>
    11 #include <string>
    12 #include <vector>
    13 #include <queue>
    14 #include <stack>
    15 #include <map>
    16 #include <set>
    17 #define pb push_back
    18 using namespace std;
    19 
    20 //==========================================
    21 //二分图最大匹配
    22 
    23 const int maxn=305;
    24 bool maz[maxn][maxn],vist[maxn];
    25 int match[maxn],n,m;
    26 
    27 bool dfs(int u)
    28 {
    29     for(int v=1;v<=m;v++)
    30     {
    31         if(maz[u][v] && !vist[v])
    32         {
    33             vist[v]=true;
    34             if(match[v] == -1 || dfs(match[v]))
    35             {
    36                 match[v]=u;
    37                 return true;
    38             }
    39         }
    40     }
    41     return false;
    42 }
    43 
    44 int Match()
    45 {
    46     int cnt=0;
    47     memset(match,-1,sizeof(match));
    48     for(int u=1;u<=n;u++)
    49     {
    50         memset(vist,false,sizeof(vist));
    51         if(dfs(u))cnt++;
    52     }
    53     return cnt;
    54 }
    55 
    56 int main()
    57 {
    58     while(~scanf("%d",&n))
    59     {
    60         memset(maz,0,sizeof(maz));
    61         m=0;
    62         for(int i=1;i<=n;i++)
    63         {
    64             int t;
    65             scanf("%d",&t);
    66             while(t--)
    67             {
    68                 int q,p;
    69                 scanf("%d%d",&q,&p);
    70                 maz[i][q*12+p]=true;
    71                 m=max(m,q*12+p);
    72             }
    73         }
    74         printf("%d\n",Match());
    75     }
    76     return 0;
    77 }
  • 相关阅读:
    wmi
    Python中基本同步原语的使用
    Python多线程的几种实现方式
    TCP/IP详解 卷1 第一章 概述
    对利用sqlmap获取os-shell过程的一次抓包分析
    12.19 Aggregate (GROUP BY) Functions
    13.2.9 SELECT 语法
    GitHack 源码分析
    CTF遇到的问题-长期更新
    在Windows server2008中搭建sqli-lab实验环境
  • 原文地址:https://www.cnblogs.com/fzf123/p/2628082.html
Copyright © 2020-2023  润新知