bool bfs(){
memset(deep,0,sizeof(deep));
queue<int>que;
que.push(s);
deep[s]=1;
while(!que.empty()){
int u=que.front();
que.pop();
for(int i=head[u];i!=-1;i=e[i].nextt){
int v=e[i].v;
if(e[i].w>0&&deep[v]==0){
deep[v]=deep[u]+1;
if(v==t)
return true;
que.push(v);
}
}
}
return deep[t]==0?false:true;
}
int dfs(int u,int fl){
if(u==t)
return fl;
int ans=0,x=0;
for(int i=cur[u];i!=-1;i=e[i].nextt){
int v=e[i].v;
if(e[i].w>0&&deep[v]==deep[u]+1){
x=dfs(v,min(e[i].w,fl-ans));
e[i].w-=x;
e[i^1].w+=x;
if(e[i].w)
cur[u]=i;
ans+=x;
if(ans==fl)
return ans;
}
}
if(ans==0)
deep[u]=0;
return ans;
}
int dinic(int n){
int ans=0;
while(bfs()){
for(int i=0;i<=n;i++)
cur[i]=head[i];
ans+=dfs(s,inf);
}
return ans;
}

  

最新文章

  1. oracle 学习笔记(四)
  2. C#语言数据总结
  3. 对称加密之AES、压缩解压以及压缩加密解密解压综合实战
  4. ArrayList 和 LinkedList 的区别
  5. lucene索引文件大小优化小结
  6. [算法导论]迪克斯特拉算法 @ Python
  7. mysqli连接数据库常见函数
  8. Linq lamda表达式Single和First方法
  9. mercurial(hg)使用
  10. C++基础知识梳理--C++的6个默认函数
  11. Linux下安装Oracle11g服务器(转)
  12. mysql 正则表达式问号
  13. mysql 监控工具(windows版本)
  14. Scratch 简单的小游戏 --- 碰碰球
  15. hexo d 部署博客时出错
  16. [vue]通过watch实现数据双向绑定
  17. CF989C A Mist of Florescence (构造)
  18. iOS下拉刷新和上拉刷新
  19. USB PIC Programmer (Brenner8)
  20. OC基础--常用类的初步介绍与简单使用之NSDate

热门文章

  1. OGG实验:喂奶间隔数据表通过OGG配置同步
  2. JAVA初学者——Hello,World!
  3. spring aop中的propagation的7种配置
  4. Aras Innovator Method集成Visual Studio
  5. clonezilla使用说明
  6. UML-状态机图和建模
  7. 正文内容 python3编码问题
  8. 布局基础&lt;kotlin&gt;(整理自网络)
  9. java加解密算法--对称加密工作模式
  10. java数目