#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(){
poj 1273 网络流
最新推荐文章于 2019-12-18 20:06:00 发布