zoukankan      html  css  js  c++  java
  • 1109. Conference(二分图)

    1109

    二分图的模板题 不过这题题意 我纠结了好久 不知道是不是我对二分图不熟悉的原因

    这题就是说 有n+m个人参加会议 要在这n+m中进行通话 求最少的连接数 就是每个人都得被连接上 这样求最大匹配就是了 再用总结点数减匹配的

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 #include<vector>
     7 using namespace std;
     8 vector<int>ed[2010];
     9 int n,m,k,vis[2010],link[2010];
    10 int find(int u)
    11 {
    12     int i;
    13     for(i = 0 ; i < (int)ed[u].size() ; i++)
    14     {
    15         int v = ed[u][i];
    16         if(vis[v])
    17         continue;
    18         vis[v] = 1;
    19         if(link[v]==0||find(link[v]))
    20         {
    21             link[v] = u;
    22             return 1;
    23         }
    24     }
    25     return 0;
    26 }
    27 int main()
    28 {
    29     int i,u,v;
    30     scanf("%d%d%d",&n,&m,&k);
    31     for(i = 1; i <= k ; i++)
    32     {
    33         scanf("%d%d",&u,&v);
    34         ed[u].push_back(v+n);
    35         ed[v+n].push_back(u);
    36     }
    37     int num=0;
    38     for(i = 1; i <= n ; i++)
    39     {
    40         memset(vis,0,sizeof(vis));
    41         if(find(i))
    42         num++;
    43     }
    44     printf("%d
    ",n+m-2*num+num);
    45     return 0;
    46 }
    View Code
  • 相关阅读:
    shell 默认变量
    diff 实现
    AWK变量
    docker-bridge network
    docker--linux network namespace
    docker-container 操作
    docker--shell和Exec格式
    docker--build自己的image
    docker--container
    docker--删除container和image
  • 原文地址:https://www.cnblogs.com/shangyu/p/3354793.html
Copyright © 2011-2022 走看看