最朴素的最大流
有向图
#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
using namespace std;
#define N 202
#define INF 1<<30
int g[N][N],n,m,pre[N];
int bfs()
{
queue<int>q;
while(!q.empty())
q.pop();
memset(pre,0,sizeof(pre));
int k,i;
q.push(1);
pre[1] = 1;
int inc = INF ;
while(!q.empty())
{
k=q.front();
q.pop();
for(i=2;i<=m;++i)
if(pre[i]==0 && g[k][i])
{
inc = min(inc,g[k][i]);
pre[i]=k;
q.push(i);
if(i==m)
return