Professional Documents
Culture Documents
h>
#define O 1000
#define A 0
#define B 1
#define C 2
int n;
int e;
int capacitate[MAX_NOD][MAX_NOD];
int flux[MAX_NOD][MAX_NOD];
int color[MAX_NOD];
int pred[MAX_NOD];
return x < y ? x : y;
void enqueue(int x)
q[tail] = x;
tail++;
color[x] = B;
}
int dequeue()
int x = q[head];
head++;
color[x] = C;
return x;
int u, v;
color[u] = A;
head = tail = 0;
enqueue(start);
pred[start] = -1;
u = dequeue();
enqueue(v);
pred[v] = u;
}
}
return color[target] == C;
int i, j, u;
int max_flow = 0;
flux[i][j] = 0;
int increment = O;
flux[pred[u]][u] += increment;
flux[u][pred[u]] -= increment;
}
max_flow += increment;
return max_flow;
int main()
capacitate[i][j] = 0;
n = 6;
e = 7;
capacitate[0][1] = 9;
capacitate[0][4] = 12;
capacitate[1][2] = 4;
capacitate[2][4] = 5;
capacitate[2][5] = 2;
capacitate[3][5] = 6;
capacitate[4][2] = 2;
capacitate[4][3] = 18;
int s = 0, t = 5;
printf("Fluxul maxim: %d\n", max_flow(s, t));