Розмірність максимальних потоків#8484

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

1 секунда
128 мегабайтів
Дуже складна

Розгляньмо ациклічний орієнтований граф , у якому кожне ребро має пропускну здатність . Граф містить дві спеціальні вершини: витік і стік .

Потоком у називається функція f : E \to R, яка задовольняє такі умови:

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

  2. Для кожної вершини , окрім і , виконується:

prb8484.gif

Величина потоку позначається як і визначається як кількість потоку, що виходить з витоку:

prb8484_1.gif

Потік називається максимальним, якщо є найбільшим серед усіх можливих потоків у . Можливо, існує кілька максимальних потоків.

Потоки можуть бути складені поточково або помножені на дійсну константу, як і будь-які інші функції. Зафіксуємо деякий максимальний потік f_{max}. Кажуть, що множина потоків \{f_1, f_2, \ldots, f_n\} утворює базис максимальних потоків, якщо кожен максимальний потік можна представити у вигляді суми

prb8484_2.gif

і жодна його підмножина не має цієї властивості. Тут a_i належить .

Розмір цієї множини - - називається розмірністю максимальних потоків графа.

За заданим графом знайдіть розмірність його максимальних потоків.

Вхідні дані

Перший рядок містить і - кількість вершин і ребер у графі (1 \le n \le 10, 1 \le m \le 10). Кожен з наступних рядків містить три цілі числа, що описують ребра. Кожне ребро описується вихідною вершиною, вхідною вершиною та його пропускною здатністю. Граф ациклічний. Витік має номер , стік має номер . Пропускні здатності не перевищують 10^4. Гарантується, що існує шлях з витоку в стік.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading