zoukankan      html  css  js  c++  java
  • HDU 1532 Drainage Ditches

    http://acm.hdu.edu.cn/showproblem.php?pid=1532

    基础题。

     1 #include<iostream> 
     2 #include<cstring>
     3 #include<string>
     4 #include<algorithm>
     5 #include<queue>
     6 using namespace std;
     7 
     8 int n, m, flow;
     9 int vis[205];
    10 //路径记录
    11 int pre[205];
    12 //邻接表
    13 int G[205][205];
    14 
    15 void Maxflow()
    16 {
    17     for (;;)
    18     {
    19         memset(vis, 0, sizeof(vis));
    20         queue<int> q;
    21         q.push(1);
    22         vis[1] = 1;
    23         while (!q.empty())
    24         {
    25             int x = q.front();
    26             q.pop();
    27             //到达终点
    28             if (x == m)  break;
    29             for (int i = 1; i <= m; i++)
    30             {
    31                 if (!vis[i] && G[x][i] > 0)
    32                 {
    33                     vis[i] = 1;
    34                     q.push(i);
    35                     //记录好路径
    36                     pre[i] = x;
    37                 }
    38             }
    39         }
    40         //没有找到增广路
    41         if (!vis[m])  break;
    42         int _min = 1000000;
    43         for (int i = m; i != 1; i = pre[i])
    44             _min = min(_min, G[pre[i]][i]);
    45         for (int i = m; i != 1; i = pre[i])
    46         {
    47             G[i][pre[i]] += _min;
    48             G[pre[i]][i] -= _min;
    49         }
    50         flow += _min;
    51     }
    52 }
    53 
    54 int main()
    55 {
    56     //freopen("D:\txt.txt", "r", stdin);
    57     while (cin >> n >> m)
    58     {
    59         int u, v, w;
    60         memset(G, 0, sizeof(G));
    61         for (int i = 0; i < n; i++)
    62         {
    63             cin >> u >> v >> w;
    64             //因为可能存在重边的情况
    65             G[u][v] += w;
    66         }
    67         flow = 0;
    68         Maxflow();
    69         cout << flow << endl;
    70     }
    71 }
  • 相关阅读:
    最终一致性解决实例
    分布式事务一致性方案
    分布式事务
    OSX
    JAVA
    Eclipse
    Activiti
    CentOS
    用Visual Studio 2015 编写 MASM 汇编程序(二)从头开发一个Win32汇编程序
    Oracle
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6492944.html
Copyright © 2011-2022 走看看