• 草地排水_匈牙利算法


     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 struct node{
     6     int to,next;
     7 }a[50000];
     8 bool visit[205];
     9 int head[205],b,link[205];
    10 int m,n,ans,x,y,k;
    11 bool find(int x){
    12     for(int k=head[x];k;k=a[k].next)
    13         if(!visit[a[k].to]){//没有被访问
    14             visit[a[k].to]=1;
    15             if(!link[a[k].to]||find(link[a[k].to])){
    16                 link[a[k].to]=x;//连接的
    17                 return 1;
    18             }
    19         }
    20     return 0;
    21 }
    22 int main()
    23 {
    24     scanf("%d%d",&n,&m);
    25     for(int i=1;i<=n;i++){//奶牛
    26         scanf("%d",&k);
    27         for(int j=1;j<=k;j++){//喜欢的牛棚
    28             scanf("%d",&x);
    29             a[++b].to=x;
    30             a[b].next=head[i];
    31             head[i]=b;
    32         }
    33     }
    34     for(int i=1;i<=n;i++){
    35         memset(visit,0,sizeof(visit));
    36         if(find(i))
    37             ans++;
    38     }
    39     printf("%d
    ",ans);
    40     return 0;

    题目描述

    在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水。这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间。因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没的烦恼(不用担心,雨水会流向附近的一条小溪)。作为一名一流的技师,农夫约翰已经在每条排水沟的一端安上了控制器,这样他可以控制流入排水沟的水流量。

    农夫约翰知道每一条排水沟每分钟可以流过的水量,和排水系统的准确布局(起点为水潭而终点为小溪的一张网)。需要注意的是,有些时候从一处到另一处不只有一条排水沟。

    根据这些信息,计算从水潭排水到小溪的最大流量。对于给出的每条排水沟,雨水只能沿着一个方向流动,注意可能会出现雨水环形流动的情形。

    输入

    第1行: 两个用空格分开的整数N (0 <= N <= 200) 和 M (2 <= M <= 200)。N是农夫约翰已经挖好的排水沟的数量,M是排水沟交叉点的数量。交点1是水潭,交点M是小溪。
    第二行到第N+1行: 每行有三个整数,Si, Ei, 和 Ci。Si 和 Ei (1 <= Si, Ei <= M) 指明排水沟两端的交点,雨水从Si 流向Ei。Ci (0 <= Ci <= 10,000,000)是这条排水沟的最大容量。

    输出

    输出一个整数,即排水的最大流量。

    样例输入

    5 4
    1 2 40
    1 4 20
    2 4 20
    2 3 30
    3 4 10
    

    样例输出

    50
  • 相关阅读:
    多线程中的静态代理模式
    ARP报文
    静态链表代码
    顺序表中的思路
    数据结构与算法
    我是见鬼了吗?这是史上最邪恶的脚本!没有之一
    细说"回车"和"换行"的故事
    SVN版本控制系统搭建(结合http服务)
    cooike和session到底是个啥
    Python3中 if __name__=='__main__'是个什么意思
  • 原文地址:https://www.cnblogs.com/al76/p/8309616.html
Copyright © 2020-2023  润新知