#include <iostream>
#include <cstdio>
#include <vector> using namespace std;
const int maxn=1e3+;
//maxn means the max
const int INF=~0u>>;
struct node{
int to,cap,rev;
node(int _to,int _cap,int _rev):to(_to),cap(_cap),rev(_rev){}
};
vector<node> edge[maxn];
bool vis[maxn];
void add(int from,int to,int cap){
edge[from].push_back(node(to,cap,edge[to].size()));
edge[to].push_back(node(from,,edge[from].size()-));
} //dfs 小心爆int
int dfs(int v,int t,int f){
if(v==t) return f;
int i;
for(i=;i<edge[v].size();++i){
int p=edge[v][i].to;
if(!vis[p]&&edge[v][i].cap>){
vis[p]=true;
int flow=edge[v][i].cap;
int d=dfs(p,t,min(flow,f));
if(d>){
edge[v][i].cap-=d;
edge[p][edge[v][i].rev].cap+=d;
return d;
}
//vis[p]=false;//这里丢了
//如果加上了对流量大于零的判断我们
//完全可以不写这一句
}
}
return ;
}
int maxflow(int s,int t){
int flow=;
for(;;){
memset(vis,,sizeof(vis));//这里丢了
vis[s]=true;//这里丢了
int f=dfs(s,t,INF);
if(f==) break;
flow+=f;
}
return flow;
}
int n,s,t;
void print(){
int i,j;
//这样写必须保证s<=t
for(i=s;i<=t;++i){
printf("head:%d",i);
for(j=;j<edge[i].size();++j){
node t=edge[i][j];
printf("==>(%d,%d,%d)",t.to,t.cap,t.rev);
}
printf("\n");
}
}
int main(){
// printf("INF:%d\n",INF);
scanf("%d",&n);
//输入的有向边数量
scanf("%d%d",&s,&t);
int i,u,v,cap;
for(i=;i<n;++i){
scanf("%d%d%d",&u,&v,&cap);
add(u,v,cap);
}
print();
int mx=maxflow(s,t);
printf("==============\n");
print();
printf("maxflow:%d\n",mx);
return ;
}

最新文章

  1. 移动wap隐藏的坑
  2. AFNETWorking 不支持中文URL请求
  3. Java中流的概念
  4. linux安全
  5. C扩展 从共享内存shm到memcache外部内存
  6. String中的Indexof,LastIndexOf, Indexofany,LastIndexOfAny 的区别
  7. 分割gbk中文出现乱码的问题解决
  8. webpack 多入口配置
  9. canvas小球动画原理
  10. java四则运算生成器
  11. 201521123026 《Java程序设计》第5周学习总结
  12. BZOJ 4259: 残缺的字符串 [FFT]
  13. [cacti]nginx+php+cacti+mysql+php-fpm 安装小记
  14. Windows PowerShell 入門(3)-スクリプト編
  15. Beyond-Compare 4 -linux 破解
  16. Gorm使用详解
  17. Linux下性能调试工具运维笔记
  18. 内置函数id,返回内存地址
  19. java工具类POI导出word
  20. 2991:2011 求2011^n的后四位。

热门文章

  1. 解决VM虚拟机MAC OS X 10.10.x的卡顿问题
  2. alv中编辑的时候quan字段小数位数被截取掉
  3. 【python】正则中的group()
  4. 【mongo】Can&#39;t take a write lock while out of disk space错误
  5. orace 取昨天凌晨的日期
  6. ASIHTTPRequest详解 [经典3]
  7. 常用邮箱的服务器(SMTP/POP3)地址和端口总结
  8. Android笔记:菜单
  9. September 8th 2016 Week 37th Thursday
  10. Java使用正则表达式解析LRC歌词文件