|Máximo flujo en red (Edmonds-Karp)Master
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 20:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Máximo flujo en red (Edmonds-Karp)

Master100 pts·Algoritmos

Enunciado

Máximo flujo en red (Edmonds-Karp)

Dado un grafo dirigido con capacidades en sus aristas, calcula el flujo máximo que puede pasar desde un nodo fuente hasta un nodo sumidero usando el algoritmo de Edmonds-Karp (Ford-Fulkerson con BFS para encontrar caminos aumentantes).

Descripción del algoritmo

  1. Mientras exista un camino de source a sink en el grafo residual (BFS):
    • Encuentra el cuello de botella (mínima capacidad residual en el camino).
    • Actualiza las capacidades residuales a lo largo del camino (ida y vuelta).
    • Suma el cuello de botella al flujo total.
  2. Retorna el flujo total acumulado.

Parámetros

  • numNodes — número de nodos en el grafo (los nodos son 0..numNodes-1).
  • edges — array de aristas [u, v, cap], donde u es el nodo origen, v el destino y cap la capacidad.
  • source — nodo fuente.
  • sink — nodo sumidero.

Ejemplo

maxFlow(4, [[0,1,3],[0,2,2],[1,2,1],[1,3,2],[2,3,3]], 0, 3);
// Retorna: 5
// Caminos: 0→1→3 (flujo 2), 0→2→3 (flujo 2), 0→1→2→3 (flujo 1)

Restricciones

  • 2 ≤ numNodes ≤ 100
  • 0 ≤ edges.length ≤ 500
  • 1 ≤ cap ≤ 10^6
  • Pueden existir múltiples aristas entre el mismo par de nodos.
  • Si no hay camino de source a sink, retorna 0.
Restriccionesexpand_more
  • Dificultad: Master
  • Completa todos los test cases para obtener los 100 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Máximo flujo en red (Edmonds-Karp) — Master | Coding Challenges · Coding Challenges