count домов, count чётно. Каждый дом красят в один из трёх цветов; prices[i][j] — стоимость покраски дома i в цвет j + 1.
Улица выглядит красиво, если выполнены два условия:
- соседние дома разного цвета;
- дома, стоящие на одинаковом расстоянии от двух концов улицы (дом i и дом count - 1 - i), тоже разного цвета.
Верните наименьшую стоимость, за которую можно покрасить улицу красиво.count=2, prices=[[4, 1, 6], [2, 1, 9]] → 3
Оба дома хотят второй цвет, но они соседи (и к тому же зеркальная пара). Лучше: дом 0 — второй цвет (1), дом 1 — первый (2), итого 3.
count=4, prices=[[1, 5, 5], [5, 1, 5], [1, 5, 5], [5, 1, 5]] → 4
Цвета 1, 2, 1, 2 стоят 4: соседи различаются, зеркальные пары тоже — у домов 0 и 3 цвета 1 и 2, у домов 1 и 2 — 2 и 1.
count=4, prices=[[1, 9, 9], [9, 1, 9], [9, 1, 9], [1, 9, 9]] → 20
Дома 1 и 2 — соседи, второй цвет может достаться только одному; дома 0 и 3 — зеркальная пара, первый цвет тоже только одному.
count чётноcount=2, prices=[[4, 1, 6], [2, 1, 9]]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 94 теста на сервере, включая скрытые.