- 20, Oct 2024
- #1
Представим, что у нас есть матрица битов (содержащая хотя бы один
):0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 => 6 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 => 4 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 => 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 => 0
1
Мы хотим установить некоторые биты в этой матрице так, чтобы она формировала непрерывный блок из 1
s, in which every 0 1 1 1 1 1 1 0 0 1 0
0 1 0 1 0 0 1 0 1 1 0
0 1 1 0 1 1 1 1 0 1 0
1 1 0 0 1 0 0 1 1 1 1
0 0 0 1 1 1 1 0 0 1 0
прямо или косвенно связано со всеми другими 1
through orthogonal movement:
1
(Вы можете увидеть это более четко, выполнив поиск 1
with your browser's "find" feature.)
Однако мы также хотим минимизировать количество устанавливаемых битов.
Задача
Учитывая матрицу (или массив массивов) битов или логических значений, верните минимальное количество битов, которое необходимо установить для создания непрерывного континента 0 1 0 1 1 0 1 0 0 1 0
0 1 0 1 0 0 1 0 1 1 0
0 0 1 0 1 1 0 1 0 1 0
1 1 0 0 1 0 0 1 1 0 1
0 0 0 1 0 1 1 0 0 1 0
s. It should be possible to get from one set bit in the matrix to another by only traveling in an orthogonal direction to other set bits.
Это , поэтому побеждает самая короткая действительная отправка (измеренная в байтах).
Тестовые случаи
1
#код-гольф #код-гольф #бинарная-матрица