Ford-Fulkerson算法

基本没什么技巧

View Code

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cstdlib>
 4 #include<queue>
 5 using namespace std;
 6 #define N 1005
 7 #define inf 9999999
 8 int map[N][N],pre[N],vis[N];
 9 int start,eend,ans;
10
11 void max_flow(int n)
12 {
13     int i,j,k;
14     while(1)
15     {
16         queue<int>q;
17         while(!q.empty())q.pop();
18
19         memset(vis,0,sizeof(vis));
20         //memset(pre,-1,sizeof(pre));
21
22         q.push(start);
23         vis[start]=1;
24         while(!q.empty())
25         {
26             k=q.front();
27             q.pop();
28             if(k==eend) break;//找到了增广路
29             for(i=1;i<=n;i++)
30             {
31                 if(vis[i]==1||map[k][i]==0)continue;
32                 q.push(i);
33                 vis[i]=1;
34                 pre[i]=k;
35             }
36         }
37
38         if(vis[eend]==0)break;//无法找到增广路
39
40         int min=inf;
41         for(i=eend;i!=start;i=pre[i])
42         {
43             if(map[pre[i]][i]<min)
44             {
45                 min=map[pre[i]][i];
46             }
47         }
48
49         for(i=eend;i!=start;i=pre[i])
50         {
51             map[pre[i]][i]-=min;
52             map[i][pre[i]]+=min;
53         }
54         ans+=min;
55     }
56     return ;
57 }
58
59 int main()
60 {
61     int i,j,k,tcase,t;
62     int m,n,a,b,c;
63     scanf("%d",&tcase);
64     for(t=1;t<=tcase;t++)
65     {
66         scanf("%d%d",&n,&m);
67         start=1;
68         eend=n;
69         memset(map,0,sizeof(map));
70         while(m--)
71         {
72             scanf("%d%d%d",&a,&b,&c);
73             map[a][b]+=c;
74         }
75         ans=0;
76         max_flow(n);
77         printf("Case %d: %d\n",t,ans);
78     }
79     return 0;
80 }

转载于:https://www.cnblogs.com/xxx0624/archive/2012/10/22/2734656.html

HDU3549+Ford-Fulkerson相关推荐

  1. C++ edmond karp和ford fulkerson求最大流算法(附完整源码)

    C++实现hopcroft karp霍普克洛夫特-卡普算法 C++实现hopcroft karp霍普克洛夫特-卡普算法完整源码(定义,实现,main函数测试) C++实现hopcroft karp霍普 ...

  2. 算法艺术——网络最大流

    女强人:http://blog.csdn.net/abcjennifer/article/details/5556455 USACO 4.2.1 Ditch 网络最大流问题算法小结 通过 USACO ...

  3. 微软等数据结构+算法面试100题全部答案集锦

    微软等数据结构+算法面试100题全部答案集锦 作者:July.阿财. 时间:二零一一年十月十三日. 引言 无私分享造就开源的辉煌. 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年.在一周年 ...

  4. 28个不得不看的经典编程算法!!

    前十个是来自圣经的十大算法: 发起人的描述:<来自圣经的证明>收集了数十个简洁而优雅的数学证明,迅速赢得了大批数学爱好者的追捧.如果还有一本<来自圣经的算法>,哪些算法会列入其 ...

  5. 图的匹配问题与最大流问题(三)——最大流问题Ford-Fulkerson方法Java实现

    上篇文章主要介绍了Ford-Fulkerson方法的理论基础,本篇给出一种Java的实现. 先借助伪代码熟悉下流程 FORD-FULKERSON(G,t,s) 1 for each edge(u,v) ...

  6. 图割Graph-Cut的最大流实现

    利用最大流标号法求解最大流,详见代码: Version:未加头尾节点版: 缺点:havn't take nodes' pixels into consideration [cpp] view plai ...

  7. ICPC-图论知识与算法要览

    1.图定义(Definitions in graph theory) 1)图(Graph) 2)有向图(Directed graph) 3)图数据表示 邻接矩阵(Adjacency Matrix),邻 ...

  8. Python小白的数学建模课-19.网络流优化问题

    流在生活中十分常见,例如交通系统中的人流.车流.物流,供水管网中的水流,金融系统中的现金流,网络中的信息流.网络流优化问题是基本的网络优化问题,应用非常广泛. 网络流优化问题最重要的指标是边的成本和容 ...

  9. 格雷通路 算法 java,Java算法与数据结构教程

    北上广容不下肉身, 三四线放不下灵魂, 程序员里没有穷人, 有一种土豪叫 算法工程师. 程序 = 数据结构 + 算法 程序是为了解决实际问题而存在的.然而为了解决问题,必定会使用到某些数据结构以及设计 ...

  10. 尹成学院区块链 Go 学习大纲-取得大纲试看视频联系微信yinchengak48

    网址:http://www.1cxy.net GO技术交流QQ群:254416566 所处阶段 主讲内容 技术要点 学习目标 第一阶段Go语言开发入门实战 1.Go语言介绍及开发环境搭建 1.Go语言 ...

最新文章

  1. OpenCV 2.4.9-2.4.13各个版本附加依赖项Lib文件汇总
  2. String[] arrayIP= null;的典型错误
  3. 2012年1月java_全国2012年1月自考Java语言程序设计(一)试题及答案.doc
  4. LeetCode 546. 移除盒子(DP)*
  5. 一步步创建第一个Docker App —— 4. 部署应用
  6. Runtime error 216 at xxx 故障解决一例
  7. @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用
  8. 索尼收购挪威公司Nevion 进一步增强其业务组合
  9. docker pytorch
  10. 安装阿里Java代码规约插件
  11. 华为防火墙产品介绍和工作原理介绍
  12. 小D课堂 - 零基础入门SpringBoot2.X到实战_汇总
  13. CNBlog客户端--第一阶段记录
  14. 练习12——二叉树与表达式
  15. paraview启动失败:failed to get wglChoosePixelFormatARB
  16. PayPal第一次提现失败手续费返还教程
  17. 推荐收藏 | 美团技术团队的书单
  18. IE8 打开速度慢的解决办法
  19. Intel 处理器型号数字和字母含义解析
  20. 用大数据看懂《速度与激情》的用车法则

热门文章

  1. jmeter安装 java,Windows下安装jmeter图文教程
  2. python参数检查类型_Python类型检查
  3. java关键字保留字_Java这个关键字
  4. svn迁移到git_SVN到GIT的迁移完整教程
  5. 如何在Java中使用Array实现ArrayList
  6. day034 锁,信号量,事件,队列,子进程与子进程通信,生产者消费者模型,joinableQueue...
  7. 如何进行多云环境中的数据管理?
  8. 阿里云前端周刊 - 第 25 期
  9. @SuppressWarnings
  10. [Step By Step]SAP HANA PAL多项式回归预测分析Polynomial Regression编程实例FORECASTWITHPOLYNOMIALR(预测)...