hdu 3549 最大流 水题
来源:互联网 发布:四网合一网站源码 编辑:程序博客网 时间:2024/06/17 00:40
这应该是最简单的最大流问题了,直接套模板。。。。
#include<stdio.h>#include<iostream>#include<map>#include<string.h>#include<queue>#include<vector>#include<math.h>#include<algorithm>#define inf 0x3f3f3f3fusing namespace std;int dis[20];int flow[500][500];int n,m;int bfs(){ memset(dis,-1,sizeof(dis)); queue<int>Q; dis[1]=1; Q.push(1); while(!Q.empty()) { int top=Q.front(); Q.pop(); for(int i=1;i<=n;i++) { if(flow[top][i]>0&&dis[i]<0) { dis[i]=dis[top]+1; Q.push(i); } } } if(dis[n]>0)return 1; return 0;}int dinic(int x,int k){ if(x==n) return k; int y; for(int i=1;i<=n;i++) { if(flow[x][i]>0&&dis[i]==dis[x]+1&&(y=dinic(i,min(k,flow[x][i])))) { flow[x][i]-=y; flow[i][x]+=y; return y; } } return 0;}int main(){ int t; scanf("%d",&t); int cas=1; while(t--) { memset(flow,0,sizeof(flow)); scanf("%d%d",&n,&m); int a,b,c; for(int i=0;i<m;i++) { scanf("%d%d%d",&a,&b,&c); flow[a][b]+=c; } int ans=0; while(bfs()) { //cout<<"++"<<endl; int res; while(res=dinic(1,inf))ans+=res; } printf("Case %d: %d\n",cas++,ans); }}
阅读全文
0 0
- HDU 3549 最大流 水题
- hdu 3549 最大流 水题
- hdu 3549 最大流
- hdu 3549 最大流
- HDU 3549 (最大流)
- HDU 3549 最大流
- hdu 3549 (基础最大流)
- hdu 3549(最大流)
- HDU-3549 Flow Problem【最大流】
- hdu 3549 Flow Problem【最大流】
- hdu 3549 Flow Problem 最大流
- hdu 3549 Flow Problem (最大流)
- hdu 3549最大流Ford-Fulkerson算法
- hdu - 3549 - Flow Problem(最大流)
- Hdu 3549 Flow Problem - 最大流
- HDU 3549 Flow Problem 最大网络流
- hdu 3549 最大网络流 Flow Problem
- hdu 3549 Flow Problem(最大流)
- Codeforces 512C Fox And Dinner 奇偶建图 网络流
- 详细PS转手绘视频教程,手把手
- MySQL——查询sql总结:简单查询、连接查询、子查询
- 关于jenkins配置slave节点的一些坑
- 内部分享---接口测试和py接口测试持续集成框架instaAPI
- hdu 3549 最大流 水题
- [iOS]数据库第三方框架FMDB详细讲解
- pcl点云配准
- 【Redis】map实现原理
- nkoj 4239 追捕游戏
- 形参 实参 传值问题
- include 指令和 include 行为有什么区别?
- Java的反射机制详解(一)
- Java泛型知识要点