<< к заданиям
Всероссийская олимпиада школьников по информатике, 6-7 класс, 2024 год
дата проведения: 23 мая 2024 - 24 мая 2024

Задача 3. Робот-пылесос

ответ

Современные роботы-пылесосы очень умные. Например, они способны в своей памяти строить карту помещения, разбивать помещение на сектора и даже прогнозировать загрязнения каждого сектора. Сектора, закрашенные в чёрный цвет, недоступны для уборки. Там, вероятно, стоит диван, кресло или какое-то другое препятствие. Число на секторе — это прогнозируемое количество пыли.

У робота-пылесоса, который отмечен на карте помещения рисунком, заканчивается заряд батареи, и пылесос может выполнить только X перемещений в соседний сектор. По какому маршруту лучше пройти роботу, чтобы собрать как можно больше пыли?

Карта помещения:

тут рисунок

Робот-пылесос может передвигаться строго по свободным секторам (не покрашенным в чёрный цвет) и не может выезжать за пределы помещения. Если пылесос сталкивается с препятствием или стеной комнаты, то он останавливается.

Маршрут пылесоса необходимо записать в виде строки из символов «U», «D», «L», «R», где «U» обозначает перемещение на один сектор вверх, «D» — перемещение вниз, «L» — перемещение влево, «R» — перемещение вправо.

Например, при движении по маршруту «URR» робот-пылесос соберет 5 единиц пыли, а при исполнении маршрута «RRU» соберёт 3 единицы пыли, затем столкнётся с препятствием и остановится.

Запишите маршрут движения робота-пылесоса, при котором он сможет собрать наибольшее количество пыли при заданных X. Ответы записывайте в виде последовательностей символов «U», «D», «L», «R» без пробелов и иных разделителей.

XМаршрут
3
5
7
9

Ответ на Задачу 3.

Решение основывается на переборе разных вариантов маршрутов, где мы стремимся набрать как можно больше пыли.

Маршруты легче искать в такой таблице, если закрасить сектора в разные цвета в зависимости от количества пыли. Это легко можно сделать в электронных таблицах: нужно переписать данные в таблицу, выделить её и применить «Условное форматирование» → «Цветовые шкалы» → «Цветовая шкала зелёный-жёлтый-красный». Теперь маленькие числа будут красными, а большие — зелёными. Такая таблица называется тепловой картой.

Найдём решение для X = 3: В радиусе трёх секторов от робота-пылесоса самые большие числа — это 5, 4 и несколько троек. Попытаемся их объединить и найти маршрут, который позволит роботу собрать наибольшее количество пыли.

  1. LLL 1 + 3 + 4 = 8
  2. DRU 5 + 1 + 3 = 9
  3. RDL 3 + 1 + 5 = 9

Остальные маршруты позволят собрать намного меньше пыли. То есть наилучший маршрут позволяет собрать 9 единиц пыли и будет иметь вид «DRU» или «RDL».

Для нахождения ответа при X = 5, 7, 9 используем аналогичную логику. Определяем области секторов, где мы можем набрать больше всего пыли, и строим маршрут туда через сектора с наибольшими числами.

  • Для X = 3 маршрут «DRU» или «RDL» позволяет собрать 9 единиц пыли.
  • Для X = 5 маршрут «LLLUU» позволяет собрать 14 единиц пыли.
  • Для X = 7 маршрут «UULLLDD» позволяет собрать 20 единиц пыли.
  • Для X = 9 маршрут «DRRDRRRDD» позволяет собрать 27 единиц пыли.