#include<iostream>
#include<queue>
#include<cstring>
#include<cstdio>
using namespace std;
int res[202][202],minn,n,m,pre[202],a[202];
bool bfs(){
queue<int>q;
q.push(1);
int k;
memset(a,0,sizeof(a));
a[1]=0x3f3f3f3f;
while(!q.empty()){
k=q.front();
if(k==m) return 1;
q.pop();
for(int i=1;i<=m;i++){
if(!a[i]&&res[k][i]){
q.push(i);
pre[i]=k;
a[i]=min(a[k],res[k][i]);
}
}
}
return 0;
}
int maxflow(){
int ans=0;
while(bfs()){
ans+=a[m];
int k=m;
while(k!=1){
res[pre[k]][k]-=a[m];
res[k][pre[k]]+=a[m];
k=pre[k];
}
}
return ans;
}
int main(){
// freopen("1.txt","r",stdin);
int t1,t2,t3;
while(cin>>n>>m){
poj 1273 网络流
最新推荐文章于 2019-12-18 20:06:00 发布
这是一个使用BFS算法求解网络流问题的C++程序。程序通过输入的网络节点和边,计算出从源点到终点的最大流量,并输出结果。在循环中不断更新流量值和路径,直到无法找到增广路径为止。

订阅专栏 解锁全文
443

被折叠的 条评论
为什么被折叠?



