Гидра (концепт для задачи)

Правка ru4, от Im9223372036854775808, 2025-12-03 11:05:29

Описание

Перед вами мифическая гидра: у неё n типов голов, пронумерованных от 1 до n (от «нижних» к «верхним»). При ударе по голове одного типа эта голова отрубается, но у гидры тут же возникают дополнительные головы, причём каждая голова создаёт копию голов других типов. Ваша задача — добить гидру, то есть добиться нулевого количества голов всех типов, затратя минимальное число ударов. Нулевым количеством считается тот момент, когда после сруба последней головы, другие головы не будут появляться.

Вход

На вход подаётся набор данных. Первая строка содержит число n — количество типов голов гидры (1 ≤ n ≤ 2000). Далее идёт строка, содержащая массив a из n элементов a_1 ... a_n (0 ≤ a_i ≤ 10^9) — начальные количества голов. Затем подаётся n строк по n целых чисел, задающих матрицу b.

Выход

Одно целое число — минимальное общее количество ударов, необходимое для уничтожения всех голов гидры. Если гидру невозможно убить, выведите -1

Примеры

Пример 1

Вход:

  • 3
  • 1 0 0
  • 0 1 2
  • 0 0 0
  • 0 0 0

Выход:

  • 4

Пример 2

Вход:

  • 5
  • 1 1 1 1 1
  • 0 1 0 0 0
  • 0 0 1 0 0
  • 0 0 0 1 0
  • 0 0 0 0 1
  • 0 0 0 0 0

Выход:

  • 31

Пример 3:

Вход:

  • 1
  • 1
  • 1

    Выход:

  • -1

Теги problem

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru6 Русский Im9223372036854775808 2025-12-04 11:37:05 38
en2 Английский Im9223372036854775808 2025-12-03 12:01:37 119
en1 Английский Im9223372036854775808 2025-12-03 11:45:17 1020 Initial revision for English translation
ru5 Русский Im9223372036854775808 2025-12-03 11:05:48 2 Мелкая правка: '- 1\n- 1\n#### Вых' -> '- 1\n- 1\n\n#### Вых'
ru4 Русский Im9223372036854775808 2025-12-03 11:05:29 12
ru3 Русский Im9223372036854775808 2025-12-03 11:04:58 44
ru2 Русский Im9223372036854775808 2025-12-02 22:51:10 10
ru1 Русский Im9223372036854775808 2025-12-02 18:57:19 1279 Первая редакция (опубликовано)