⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 maxflow.txt

📁 acm 常用算法和代码库
💻 TXT
字号:
#include <iostream>
#define MAX 1000
using namespace std;
int net[MAX][MAX]={0};
int pre[MAX],que[MAX];
int n,m;
int bfs()   //寻找路径
{
	int tail,head;
	tail=head=0;
	int visited[MAX]={0};
	que[tail++]=1;

	while(head!=tail)
	{
		int now=que[head++];
		visited[now]=1;
		for(int i=1;i<=m;i++)
		{
			if(net[now][i]>0 && !visited[i])
			{
				pre[i]=now;
				que[tail++]=i;
				if(i==m) return true;
			}
		}
	}
	return false;
}
int maxflow()
{
	int res=0,i;
	while(bfs())
	{
		int min=INT_MAX;
		for(i=m;i!=1;i=pre[i])
		{
			if(min>net[pre[i]][i]) 
				min=net[pre[i]][i];  //在当前找到的路径中寻找最小流量
		}
		res+=min;
		for(i=m;i!=1;i=pre[i])
		{
			net[pre[i]][i]-=min;  //
			net[i][pre[i]]+=min;  //添加逆向边~~~
		}
	}
	return res;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -