Ctrl K

Тихие и общительные жильцы

Сложная
Жилой квартал — поле из rows × cols квартир. Есть quiet тихих жильцов и sociable общительных. Каждому заселяемому жильцу нужна своя квартира; заселять всех не обязательно. Соседи — жильцы в квартирах, примыкающих сверху, снизу, слева или справа. Настроение жильца: - тихий: начинает со 120 и теряет 30 за каждого соседа (любого типа); - общительный: начинает с 40 и получает +20 за каждого соседа (любого типа). Настроение квартала — сумма настроений всех заселённых жильцов. Верните наибольшее возможное настроение квартала.
Пример 1
rows=1, cols=3, quiet=2, sociable=1 → 260

Тихие по краям (по 120 − 30 = 90), общительный в середине (40 + 2·20 = 80): 90 + 80 + 90 = 260.

Пример 2
rows=2, cols=2, quiet=0, sociable=3 → 200

Три общительных в углу «Г»: у среднего двое соседей (80), у крайних по одному (60 + 60) — итого 200.

Пример 3
rows=3, cols=3, quiet=2, sociable=0 → 240

Двух тихих селим так, чтобы они не соседствовали: 120 + 120 = 240.

Ограничения
  • 1 ≤ rows, cols ≤ 5
  • 0 ≤ quiet, sociable ≤ min(rows · cols, 6)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСвежие булочки для каждой компании СложнаяГонка из общей кучки чисел СредняяСамая дешёвая корзина с наборами СредняяГруппы с равными суммами СредняяКак рассчитаться за меньше переводов Сложная
загружаем Python…
Вход
rows=1, cols=3, quiet=2, sociable=1
Ожидается
260

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