HDU1532 Drainage Ditches 最大流

來源:互聯網
上載者:User

題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1532

 

題目大意:

      就是由於下大雨的時候約翰的農場就會被雨水給淹沒,無奈下約翰不得不修建水溝,而且是網路水溝,並且聰明的約翰還控制了水的流速,本題就是讓你求出最大流速,無疑要運用到求最大流了。題中m為水溝數,n為水溝的頂點,接下來Si,Ei,Ci分別是水溝的起點,終點以及其容量。求源點1到終點n的最大流速。注意重邊

 

用到的知識:一般增光路演算法---Ford-Fulkerson方法

 

參考代碼:

 

 

#include<iostream>using namespace std;#include<cmath>#define MIN(a,b) a<b?a:b#define INF  1000000struct node{int c;int f;}edge[205][205];int m,n;int qs,qe;int flag[205],pre[205],alpha[205];int v,queue[205];void BFS(){memset(flag,0xff,sizeof(flag));memset(pre,0xff,sizeof(pre));memset(alpha,0xff,sizeof(alpha));flag[1]=0;pre[1]=0;alpha[1]=INF;qs=qe=0;queue[qe]=1;qe++;while(qs<qe&&flag[n]==-1){int i;v=queue[qs];qs++;for(i=1;i<=n;i++){if(flag[i]==-1){if(edge[v][i].c<INF&&edge[v][i].c>edge[v][i].f){flag[i]=0;pre[i]=v;alpha[i]=MIN(alpha[v],edge[v][i].c-edge[v][i].f);queue[qe]=i;qe++;}else if(edge[i][v].c<INF&&edge[i][v].f>0){flag[i]=0;pre[i]=-v;alpha[i]=MIN(alpha[v],edge[i][v].f);queue[qe]=i;qe++;}}}flag[v]=1;}}void Ford_Fullkerson(){while(1){BFS();if(alpha[n]==0||flag[n]==-1)break;int k1=n;int k2=abs(pre[k1]);int a=alpha[k1];while(1){if(edge[k2][k1].f<INF)edge[k2][k1].f+=a;elseedge[k1][k2].f-=a;if(k2==0)break;k1=k2;k2=abs(pre[k2]);}alpha[n]=0;}}void Max(){int i,j;int sum=0;for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(i==1&&edge[i][j].f<INF)sum+=edge[i][j].f;}}cout<<sum<<endl;}int main(){int A,B,C;while(cin>>m>>n){memset(edge,0,sizeof(edge));while(m--){cin>>A>>B>>C;edge[A][B].c+=C;}Ford_Fullkerson();Max();}return 0;}

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.