// -*- coding: utf-8; indent-tabs-mode: nil -*-
\ALGORITHM{Dinic's Algorithm} \WITH
  \INPUT{A network \expr{G = ((V , E), c, s, t)}.}
  \OUTPUT{An \expr{s–t} flow \expr{f} of maximum value.}
\IS
  \TEXT{1. Set \expr{f(e) = 0} for each \expr{e ∈ E}.
  2. Construct \expr{G_L} from \expr{G_f} of \expr{G}.
     If \expr{\text{dist}(t) = ∞}, stop and output \expr{f}.
  3. Find a blocking flow \expr{f\'} in \expr{G_L}.
  4. Augment flow \expr{f} by \expr{f\'} and go back to step 2.}
\END ALGORITHM
