eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Размерность максимальных потоков

Размерность максимальных потоков

Рассмотрим ациклический ориентированный граф G, с каждым ребром которого uv связана пропускная способность c(uv). Пусть G имеет две специальные вершины: исток s и сток t.

Потоком в G называется функция f : E -> R такая что следующие условия имеют место:

  1. 0f(uv) ≤ c(uv) для всех ребер uv.

  2. для всякой вершины u кроме s и t

prb8484.gif

Величина потока f обозначается как |f| - количество потока, исходящего из истока:

prb8484_1.gif

Поток называется максимальным если |f| наибольшее возможное среди всех потоков в G. Очевидно, что может существовать несколько максимальных потоков.

Потоки могут быть сложены поточечно или умножены на действительную константу, как и на любые другие функции. Зафиксируем некоторый максимальный поток fmax. Говорят, что множество потоков {f1, f2, ..., fn} образуют базис максимальных потоков, если каждый максимальный поток можно представить в виде суммы

prb8484_2.gif

и никакое его подмножество не имеет этого свойства. Здесь ai принадлежит R.

Размер этого множества - n - называется размерностью максимальных потоков графа.

По заданному графу G найдите размерность его максимальных потоков.

Входные данные

Первая строка содержит n и m - количество вершин и ребер в графе (1n10, 1m10). Каждая из следующих m строк содержит три целых числа и описывает ребра. Каждое ребро описывается исходящей вершиной, входящей вершиной и его пропускной способностью. Граф ациклический. Исток имеет номер 1, сток имеет номер n. Пропускные способности не превосходят 104. Гарантируется, что существует путь из истока в сток.

Выходные данные

Выведите максимальную размерность максимальных потоков заданного графа.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
2 1
1 2 1
Вихідні дані #1
0
Вхідні дані #2
4 5
1 2 2
1 3 2
3 2 1
2 4 2
3 4 1
Вихідні дані #2
1
Джерело 2007 Petrozavodsk, Andrew Stankevich Contest 22, January 27, Problem A