sgu 194 上下界最大流 此代码SGU瞬间过,ZOJ瞬间WA
来源:互联网 发布:那个旅行软件好 编辑:程序博客网 时间:2024/06/05 10:27
直接上代码,没什么好说的。
#include<stdio.h>#include<string.h>#define LMT 205#define eps 3e8typedef struct{ int u,v;}line;line e[LMT*LMT];int mat[LMT][LMT],fmat[LMT][LMT],q[LMT],lev[LMT],lim[LMT][LMT];int n,m;int bfs(int s,int t){ int head,tail,i,j; memset(lev,0,sizeof(lev)); head=tail=0; q[tail++]=s;lev[s]=1; while(head<tail) { i=q[head++]; for(j=0;j<=n+1;j++) if(fmat[i][j]>0&&0==lev[j]) { lev[j]=lev[i]+1; q[tail++]=j; } } return lev[t]!=0;}int dfs(int s,int t){ int i,j,top=0,ret=0; q[top++]=s; while(top>0) { i=q[top-1]; if(i==t) { int min,back; min=eps; for(i=1;i<top;i++) if(min>fmat[q[i-1]][q[i]]) { min=fmat[q[i-1]][q[i]]; back=i; } ret+=min; for(i=1;i<top;i++) { fmat[q[i-1]][q[i]]-=min; fmat[q[i]][q[i-1]]+=min; } top=back; } else { for(j=0;j<=n+1;j++) if(fmat[i][j]>0&&lev[j]==lev[i]+1) { q[top++]=j; break; } if(j>n+1) { lev[i]=0; top--; } } } return ret;}int dinic(int s,int t){ int ret=0; while(bfs(s,t)) { ret+=dfs(s,t); } return ret;}int main(){ int i,j,t,sum,N; scanf("%d%d",&n,&m); memset(fmat,0,sizeof(fmat)); memset(mat,0,sizeof(lim)); t=0; for(t=0;t<m;t++) { scanf("%d%d",&i,&j); scanf("%d%d",&lim[i][j],&mat[i][j]); e[t].u=i; e[t].v=j; } sum=0; for(i=1;i<=n;i++) { t=0; for(j=1;j<=n;j++) if(i!=j) { fmat[i][j]=mat[i][j]-lim[i][j]; t+=lim[i][j]-lim[j][i]; } if(t>0) { fmat[i][n+1]=t; sum+=t; } else fmat[0][i]=-t; } dinic(0,n+1); for(i=1;i<=n;i++) if(fmat[0][i]||fmat[i][n+1]) { printf("NO\n"); break; } if(i>n) { printf("YES\n"); for(i=0;i<m;i++)printf("%d\n",lim[e[i].u][e[i].v]+fmat[e[i].v][e[i].u]); } return 0;}
- sgu 194 上下界最大流 此代码SGU瞬间过,ZOJ瞬间WA
- 【无源汇上下界最大流】SGU 194 Reactor Cooling
- sgu 194上下界网络流
- SGU 194. Reactor Cooling【无源汇上下界最大流】
- sgu 194 Reactor Cooling 无源汇有上下界最大流
- SGU - 194 Reactor Cooling(无源无汇有上下界最大流)
- SGU 194 Reactor Cooling(无源汇有上下界最大流)
- sgu-194-Reactor Cooling(无源汇有上下界最大流)
- SGU 194 无源汇的上下界可行流
- SGU 194 Reactor Cooling-上下界网络流模板题
- SGU 194 Reactor Cooling 无源汇上下界可行流
- SGU 176 上下界最小流
- SGU 194 无源无汇上下界网络流
- SGU 194带上下界的可行流。
- sgu 194 无源汇有上下界的最大流(最大流模板dinic加优化)
- SGU 194. Reactor Cooling (无源汇有上下界最大流
- sgu 176 有上下界的网络流
- ★ SGU 176 有源汇上下界最小流
- 判断字符串中是否有空格
- git之学习要点:远程分支与衍合
- 【AndEngine】Timer Counter
- USB学习笔记(一)------USB底层基础知识
- 求解迷宫(DFS)
- sgu 194 上下界最大流 此代码SGU瞬间过,ZOJ瞬间WA
- js定义key:value对象
- 一种2D游戏引擎的设计与实现
- 网络传输二插树《广义表实现》
- Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
- 解析HelloWorldScene
- 微软发布一项重要安全通报 - 2755801
- POJ1129
- 第一章 Git的安装和使用