zoukankan      html  css  js  c++  java
  • hdu1151 Air Raid 基础匈牙利

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cstdlib>
     4 #include <algorithm>
     5 using namespace std;
     6 
     7 #define MAXN 150
     8 int n;    //十字路口的数量
     9 int m;    //路的个数
    10 int map[MAXN][MAXN];
    11 int x[MAXN], y[MAXN];
    12 int mark[MAXN];
    13 
    14 int search(int a)
    15 {
    16     for (int i = 1; i <= n; i++)
    17     {
    18         if (map[a][i] && !mark[i])
    19         {
    20             mark[i] = 1;
    21             if (y[i] == 0 || search(y[i]))
    22             {
    23                 x[a] = i;
    24                 y[i] = a;
    25                 return a;
    26             }
    27         }
    28     }
    29     return 0;
    30 }
    31 
    32 int main()
    33 {
    34     int t;
    35     scanf("%d", &t);
    36     while (t--)
    37     {
    38         memset(map, 0, sizeof(map));
    39         memset(mark, 0, sizeof(mark));
    40         scanf("%d %d", &n, &m);
    41         for (int i = 0; i < m; i++)
    42         {
    43             int a, b;
    44             scanf("%d %d", &a, &b);
    45             if (map[a][b] == 0)
    46                 map[a][b] = 1;
    47         }
    48 
    49         int ans1 = 0;
    50         memset(x, 0, sizeof(x));
    51         memset(y, 0, sizeof(y));
    52 
    53         for (int i = 1; i <= n; i++)
    54         {
    55             if (x[i] == 0)
    56             {
    57                 memset(mark, 0, sizeof(mark));
    58                 if (search(i))
    59                     ans1++;
    60             }
    61         }
    62         printf("%d
    ", n - ans1);
    63     }
    64     //system("pause");
    65     return 0;
    66 }
  • 相关阅读:
    学习第57天
    学习第56天
    学习第55天
    学习第54天
    学习第53天
    学习第52天
    学习第51天
    学习第50天
    MVVM模式
    css盒模型
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/7215885.html
Copyright © 2011-2022 走看看