最大流算法
来源:互联网 发布:双语字幕制作软件 编辑:程序博客网 时间:2024/06/11 03:22
如图
求出Us 到 Ut 的最大流:
我的思路:用dfs寻找增广链 (如果不知道什么是增广链的话 你可以百度(最大流视频) 找到一个 中国民航院 有一个游庆山的一个视频 )
我的方法如下:
文件:1.txt
0 1 50 2 40 3 31 4 51 5 32 5 32 6 23 6 24 7 45 7 36 7 4我的代码:
#include<iostream>#include<fstream>using namespace std;const int n=8; //0~7个点const int inf=9999;int a[n][n]={0},b[n][n]={0};int c[n]={inf};int jx=true;void pr(int n){int i,min=inf;for(i=0;i<n;i++){//cout<<c[i]<<"->"<<c[i+1]<<":";if(a[c[i]][c[i+1]]!=0) {//cout<<a[c[i]][c[i+1]]<<"("<<b[c[i]][c[i+1]]<<")"<<' ';if(min>a[c[i]][c[i+1]]-b[c[i]][c[i+1]]) min=a[c[i]][c[i+1]]-b[c[i]][c[i+1]];}else {//cout<<a[c[i+1]][c[i]]<<' ';if(min>b[c[i+1]][c[i]]) min=b[c[i+1]][c[i]];}}if(min>0){//我可以执行这一段for(i=0;i<n;i++){ if(a[c[i]][c[i+1]]!=0) { b[c[i]][c[i+1]]=b[c[i]][c[i+1]]+min;} else { b[c[i]][c[i+1]]=b[c[i]][c[i+1]]-min; }}jx=true;}//cout<<"min:"<<min<<endl; }void fun(int head,int end,int depth=0){//寻找head->i 的一个没有饱和的路if(depth==0){c[depth]=head;depth++;}int i,j,bestmax;for(i=0;i<n;i++) if(a[head][i]!=b[head][i]||a[i][head]!=0) { for(j=0;j<depth;j++) if(c[j]==i) break; if(j>=depth) { c[depth]=i; //符合 if(i==end) pr(depth); else fun(i,end,depth+1); }}}int main(){int i,j,t;ifstream out("1.txt");while(!out.eof()){out>>i>>j>>t;a[i][j]=t;}/* for(i=0;i<n;i++){ for(j=0;j<n;j++) { cout<<i<<"->"<<j<<':'<<b[i][j]<<"\t"; }}cout<<endl<<"执行函数后:"<<endl;*/while(jx){jx=false;fun(0,7);}int sum=0;for(i=0;i<n;i++){ for(j=0;j<n;j++) { if(b[i][j]!=0) cout<<i<<"->"<<j<<':'<<b[i][j]<<endl; } sum=sum+b[0][i];}cout<<endl<<"sum:"<<sum<<endl;system("pause");return 0;}
0 0
- 最大流算法 -- Dinic算法
- 【算法导论】最大流算法
- 最大流算法模板
- 最大流SAP算法
- 最大流算法
- Dinic算法最大流。。
- 最大流算法模板
- 最大流算法实现
- (转)最大流算法
- 最大流SAP算法
- 最大流SAP算法
- 最大流算法
- 最大流算法
- 最大流算法
- 最大网络流算法
- 最大流算法小结
- 最大流算法
- 最大流EK算法
- linux学习笔记--pmap命令
- Android.mk理解
- springMVC源码分析--RequestMappingHandlerAdapter(五)
- Android之SharedPreferences用法
- socket通信之心跳
- 最大流算法
- 快速生成react项目
- JS(四)RegExp正则表达式
- JVM调优总结 -Xms -Xmx -Xmn -Xss
- PCL在VS2013下快速安装或者cmake详细安装(可以运行kinectFusion使用kinect1拍摄深度图彩色图三维模型)两种安装方式
- Scrapy爬虫(六):多个爬虫组合实例
- flask相关资料
- 我们为什么要写作?
- 类与对象之我见