【HDU】 1532 Drainage Ditches
2016-04-29 14:56
459 查看
Drainage Ditches
题目链接
Drainage Ditches题目大意
给你一个有向图,要求求出从1到m的最大流。题解
上面已经说的很清楚了,就是求出1到m的最大流即可。代码
#include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; int u,v,dist,a[205][205],flow[205],pre[205],q[205],n,m; int bfs(int s,int des) { memset(q,0,sizeof(q)); memset(pre,0,sizeof(pre)); int h=0,t=0; q[h++]=s; flow[s]=0x7fffffff; pre[s]=s; flow[des]=0; while (h!=t) { int u=q[t]; if (u==des) break; for (int v=1;v<=m;v++) if (a[u][v]>0 && !pre[v]) { q[h++]=v; pre[v]=u; flow[v]=min(flow[u],a[u][v]); } t++; } return flow[des]; } int maxflow(int s,int des) { int t,ans=0; while(t=bfs(s,des),t!=0) { for (int i=des;i!=s;i=pre[i]) { a[pre[i]][i]-=t; a[i][pre[i]]+=t; } ans+=t; } return ans; } int main() { while (scanf("%d%d",&n,&m)!=EOF) { memset(a,0,sizeof(a)); for (int i=1;i<=n;i++) { scanf("%d%d%d",&u,&v,&dist); a[u][v]+=dist; } int ans=maxflow(1,m); printf("%d\n",ans); } return 0; }
相关文章推荐
- count(字段)不统计null值http://blog.csdn.net/lwei_998/article/details/6112810
- FZCCHJW--GB1-0-GBpc-EUC-H:在系统中未找到字体;已替换缺少的字体。
- leetcode 11. Container With Most Water
- stitching detail输出的dot图含义
- 从零开始写聊天机器人
- AI教程!教你绘制扁平化风格的卡通人物肖像(四人组合篇)
- UVa 10976 Fractions Again?!
- RAID详解[RAID0/RAID1/RAID10/RAID5]
- Exception raised during rendering: Binary XML file line #-1: No start tag found!
- svmtrain和svmpredict参数
- 当人工智能遇见金融财经
- 线程中sleep和wait的区别
- memcache的使用http://blog.csdn.net/scelong/article/details/7245343
- 217. Contains Duplicate
- Metastore contains multiple versions
- http://blog.csdn.net/hahalzb/article/details/5889545
- 人工智能正在向经济学领域渗透
- TensorFlow人工智能入门教程之十一 最强网络DLSTM 双向长短期记忆网络(阿里小AI实现)
- Intellij IdeaI快捷键
- Codeforces #325 Div2 D Phillip and Trains(模拟)