table из нулей и единиц, все её строки попарно различны. Непустой набор из k строк назовём *сбалансированным*, если в каждом столбце сумма выбранных строк не больше ⌊k / 2⌋.
Найдите сбалансированный набор с наименьшим числом строк и верните индексы его строк по возрастанию. Если таких наборов несколько, верните тот, у которого список индексов лексикографически наименьший. Если сбалансированного набора нет совсем, верните пустой список.
Подсказка: столбцов не больше пяти. Подумайте, бывает ли так, что маленького сбалансированного набора нет, а большой есть.table=[[1, 1, 0], [1, 0, 1], [0, 1, 0], [0, 0, 1]] → [0, 3]
Нулевой строки нет. Строки 0 и 1 обе имеют 1 в столбце 0, а строки 0 и 3 — нет общих единиц: в каждом столбце сумма не больше 1 = ⌊2 / 2⌋. Пара (0, 3) — первая такая по порядку.
table=[[1, 0], [0, 0], [0, 1]] → [1]
Строка 1 целиком из нулей — набор из неё одной уже сбалансирован, и меньше не бывает.
table=[[1, 1], [1, 0], [0, 1]] → [1, 2]
Строки 1 и 2 не имеют общих единиц, так что ответ [1, 2].
table) ≤ 10⁴table[i]) ≤ 5table[i][j] — 0 или 1table попарно различныtable=[[1, 1, 0], [1, 0, 1], [0, 1, 0], [0, 0, 1]]
[0, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 39 тестов на сервере, включая скрытые.