グラフグラフグラフの最大ストリーム実装
最大ストリームラベル法を使用して最大ストリームを解くには、コードを参照してください.
Version:エンドノード版が追加されていません.
欠点:havn't take nodes'pixels into consideration
完備を待つ......
Version:エンドノード版が追加されていません.
欠点:havn't take nodes'pixels into consideration
/************************************************************************/
/* MaxFlow solve graph cut program */
/************************************************************************/
/*
File description:
This program for graph cut based on Ford - Fulkerson Algorithm.
Input:
M(edge number) N(node number)
then M lines input 3 parameters each line:
start_point end_point edge_capacity
e.g 5 4 1 4 40 1 2 20 2 4 10 4 3 30 3 2 10
output:
Line 1:maxflow value
Line2:nodes in Class 1
e.g
MAX Flow is 50
nodes in class S: 1 2
=========================================================================
CreateTime:2011-8-8
Author:@Zhang Ruiqing
*/
#include
#include
using namespace std;
#define N 250//point
#define M 250*250//edge
#define INF 1000000000
#define min(a,b) aQ;
int n,m,s,t;
void init(int s)
{
memset(pre,0,sizeof(pre));
for(int i=0;i<=n;i++)
minlen[i]=pathmin[i]=INF;
minlen[s]=0;
}
bool bfs(int s,int t)
{
init(s);
//push start node
Q.push(s);
while(!Q.empty())
{
int now=Q.front();
Q.pop();
for(int i=1;i<=n;i++)
{
if(map[now][i]!=0&&minlen[now]+map[now][i]>a>>b>>c;
map[a][b]+=c;
}
s=1;
t=n;
cout<
完備を待つ......