Ctrl K

Стажёры и тренеры

Средняя
Анкета состоит из n вопросов, на каждый отвечают «да» (1) или «нет» (0). Её заполнили m стажёров и m тренеров: trainees[i] — ответы i-го стажёра, coaches[j] — ответы j-го тренера. Совместимость пары «стажёр — тренер» — это число вопросов, на которые они ответили одинаково. Каждого стажёра нужно закрепить ровно за одним тренером так, чтобы у каждого тренера тоже был ровно один стажёр. Верните наибольшую возможную сумму совместимостей всех пар.
Пример 1
trainees=[[1, 0, 1], [0, 1, 1]], coaches=[[0, 1, 0], [1, 0, 1]] → 5

Первого стажёра ставим ко второму тренеру (совпадают все 3 ответа), второго — к первому (совпадают 2 ответа): 3 + 2 = 5. Обратное распределение даёт 0 + 1 = 1.

Пример 2
trainees=[[1, 1]], coaches=[[0, 1]] → 1

Пара одна, совпадает только второй ответ.

Пример 3
trainees=[[1, 0], [1, 0], [0, 0]], coaches=[[1, 0], [0, 1], [1, 1]] → 4

Первому тренеру подходят оба первых стажёра (по 2 совпадения), но достаться он может только одному. Лучше всего: первый стажёр — к первому тренеру (2), второй — к третьему (1), третий — ко второму (1), итого 4.

Ограничения
  • m = trainees.length = coaches.length
  • n = длина каждой строки trainees и coaches
  • 1 ≤ m, n ≤ 8
  • каждый ответ равен 0 или 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКвадратная рамка из палочек СредняяРассадка с делимостью СредняяСамая дешёвая корзина с наборами СредняяГруппы с равными суммами СредняяМеньше всего пешком до самокатов Средняя
загружаем Python…
Вход
trainees=[[1, 0, 1], [0, 1, 1]], coaches=[[0, 1, 0], [1, 0, 1]]
Ожидается
5

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 71 тест на сервере, включая скрытые.