题目大意:单源单汇无向网络求最大流。

题目分析:入门级别的题。但是ISAP在这儿好像不大好使?。。。

代码如下:

  1. # include<iostream>
  2. # include<cstdio>
  3. # include<cstring>
  4. # include<vector>
  5. # include<queue>
  6. # include<algorithm>
  7. using namespace std;
  8.  
  9. const int INF=1<<30;
  10. const int maxn=105;
  11.  
  12. int p[maxn],g[maxn][maxn];
  13. int s,t,n,m;
  14.  
  15. int bfs()
  16. {
  17. memset(p,-1,sizeof(p));
  18. p[s]=s;
  19. queue<int>q;
  20. q.push(s);
  21. while(!q.empty())
  22. {
  23. int u=q.front();
  24. q.pop();
  25. for(int i=0;i<n;++i){
  26. if(g[u][i]>0&&p[i]==-1){
  27. p[i]=u;
  28. q.push(i);
  29. }
  30. }
  31. }
  32. if(p[t]==-1) return 0;
  33. int a=INF,u=t;
  34. while(p[u]!=u){
  35. a=min(a,g[p[u]][u]);
  36. u=p[u];
  37. }
  38. u=t;
  39. while(p[u]!=u){
  40. g[p[u]][u]-=a;
  41. g[u][p[u]]+=a;
  42. u=p[u];
  43. }
  44. return a;
  45. }
  46.  
  47. int maxFlow()
  48. {
  49. int flow=0,f;
  50. while(1){
  51. f=bfs();
  52. if(f<=0) break;
  53. flow+=f;
  54. }
  55. return flow;
  56. }
  57.  
  58. int main()
  59. {
  60. int a,b,c,cas=0;
  61. while(scanf("%d",&n)&&n)
  62. {
  63. scanf("%d%d%d",&s,&t,&m);
  64. --s,--t;
  65. memset(g,0,sizeof(g));
  66. while(m--)
  67. {
  68. scanf("%d%d%d",&a,&b,&c);
  69. --a,--b;
  70. g[a][b]+=c;
  71. g[b][a]+=c;
  72. }
  73. printf("Network %d\n",++cas);
  74. printf("The bandwidth is %d.\n\n",maxFlow());
  75. }
  76. return 0;
  77. }

  

UVA-820 Internet Bandwidth (最大流)的更多相关文章

  1. UVA 820 Internet Bandwidth 因特网宽带(无向图,最大流,常规)

    题意:给一个无向图,每条边上都有容量的限制,要求求出给定起点和终点的最大流. 思路:每条无向边就得拆成2条,每条还得有反向边,所以共4条.源点汇点已经给出,所以不用建了.直接在图上跑最大流就可以了. ...

  2. UVA - 820 Internet Bandwidth(最大流模板题)

    题目: 思路: 直接套最大流的模板就OK了,注意一下输出的格式. 代码: #include <bits/stdc++.h> #define inf 0x3f3f3f3f #define M ...

  3. UVA - 820 Internet Bandwidth (因特网带宽)(最大流)

    题意:给出所有计算机之间的路径和路径容量后,求出两个给定结点之间的流通总容量.(假设路径是双向的,且两方向流动的容量相同) 分析:裸最大流.标号从1开始,初始化的时候注意. #pragma comme ...

  4. UVa 820 Internet Bandwidth (裸板网络流)

    题意:有一个计算机网络,输入节点数n,输入网络流源点和汇点src,des,再输入双向边数m.给出m条边的负载,求最大流. 析:直接上网络流的最大流. 代码如下: #pragma comment(lin ...

  5. UVA 820 Internet Bandwidth

    题意: 给出双向图,求给出两点的流通总流量. 分析: 网络流中的增广路算法. 代码: #include <iostream>#include <cstring>#include ...

  6. UVA 820 --- POJ 1273 最大流

    找了好久这两个的区别...UVA820 WA了 好多次.不过以后就做模板了,可以求任意两点之间的最大流. UVA 是无向图,因此可能有重边,POJ 1273是有向图,而且是单源点求最大流,因此改模板的 ...

  7. light oj 1153 - Internet Bandwidth【网络流无向图】

    1153 - Internet Bandwidth   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 ...

  8. uva 820(最大流)

    最大流的裸题,直接贴了模板. #include <cstdio> #include <iostream> #include <sstream> #include & ...

  9. UVa 820 因特网带宽(最大流)

    https://vjudge.net/problem/UVA-820 题意: 给出所有计算机之间的路径和路径容量后求出两个给定结点之间的流通总容量. 思路: 裸的最大流问题.注意有个比较坑的地方,最后 ...

随机推荐

  1. Centos设置SSH限制登录用户及IP

    1,系统版本查看 2,编辑ssh配置文件 vim /etc/ssh/sshd_config 在尾部加一行 允许sysman用户从ip1.1.1.*登录 3,重启sshd即可 /etc/init.d/s ...

  2. ubuntu16.04下安装opencv3的viz模块

    OPENCV3.0默认是不安装VIZ模块的,那么如何安装呢? 如果已经安装了Opencv,现在要增加VIZ模块,应该再安装一次就可以吧,我没试过,我是卸载了原来的,重新安装的 简单来说,就是要多安装一 ...

  3. Finding files on a *nix/Linux and sorting by size

    1. Finding files on *NIX and sort by size find ~ -iregex ".*/*.sh" -type f -print0 | xargs ...

  4. AJAX.basic

    之前在项目中使用ajax都是通过jQuery的Ajax API来进行的,今天试了一下通过基本的JavaScript来进行ajax请求,将代码记录下来: jsp 页面 <%@ page pageE ...

  5. 设计模式之——浅谈strategy模式(策略模式)

    strategy模式,即策略模式.个人觉得吧,策略模式更多的是一种思维方式. 首先我们要知道,为什么需要策略模式.举个例子,比如用程序输出今天下午去玩什么. PlayGame 玩游戏 package ...

  6. python 类高级语法 静态方法

    通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方 ...

  7. Spark UI (基于Yarn) 分析与定制

    转载自:https://yq.aliyun.com/articles/60194 摘要: 这篇文章的主旨在于让你了解Spark UI体系,并且能够让你有能力对UI进行一些定制化增强.在分析过程中,你也 ...

  8. [py]类属性和实例属性

    默认类和实例的内置属性一致 class A: """测试类""" name = "maotai" def __init_ ...

  9. POJ1273:Drainage Ditches(最大流入门 EK,dinic算法)

    http://poj.org/problem?id=1273 Description Every time it rains on Farmer John's fields, a pond forms ...

  10. EWD简介

    Edsger Wybe Dijkstra was a principal contributor in the late 1950's to the development of the ALGOL, ...