Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3581237
А
Аноним
08 марта 2026 12:34 · публичный вопрос
А
Аноним

Задача № 2 Робот находится где-то в прямоугольнике. Одна клетка рядом с исходной покрашена. Робот должен оказаться в ней.

Ответ нейросети
08 марта 2026 12:34

Вот детальное решение задачи.

Задача: робот находится в одной клетке прямоугольника. Одна из соседних клеток окрашена. Робот должен попасть в эту окрашенную клетку.

Допущения (чтобы решить задачу можно было однозначно):

  • فرضируем, что робот может определить, окрашена ли клетка, только когда находится в этой клетке (то есть цвет соседних клеток он может увидеть только после перемещения на них). Это обычное условие в подобных задачах.
  • Робот может двигаться на соседнюю клетку вверх, вправо, вниз или влево, если такая клетка существует в пределах прямоугольника.

Стратегия 1. если робот видит окрашенную клетку только по приближении (не может определить цвет соседей на расстоянии)

  • Идея: проверить соседние клетки по фиксированному порядку. Переместиться в соседнюю клетку, проверить — если она окрашена, задача выполнена; если нет — вернуться обратно в исходную клетку и перейти к следующей соседней клетке.

  • Порядок проверки: например N (север), E (восток), S (юг), W (запад). Учитываем только существующие в текущей позиции направления (на краю прямоугольника направление может отсутствовать).

  • Пошаговый алгоритм:

    1. Определяем список существующих соседних клеток в фиксированном порядке, например: N, E, S, W (убираем направления за пределами прямоугольника).
    2. Для каждого направления dir из списка:
      • Переместиться на соседнюю клетку в направлении dir.
      • Проверить: если эта клетка окрашена — задача выполнена, остановиться.
      • Если клетка не окрашена — вернуться обратно в исходную клетку.
    3. После проверки всех существующих соседей одна из них обязательно окажется окрашенной (ведь известно, что именно одна соседняя клетка окрашена). Таким образом, робот найдёт окрашенную клетку и окажется в ней.
  • Пример иллюстрации траектории:

    • Пусть окрашена клетка на востоке.
    • Шаг 1: перейти на N. Если N не окрашена — вернуться обратно.
    • Шаг 2: перейти на E. На этом шаге окажетесь в окрашенной клетке и остановитесь.
  • Сложность: максимум 2·deg(S) перемещений, где deg(S) — число соседних клеток существующих вокруг исходной клетки (обычно 2–4). В худшем случае до 8 перемещений.

Стратегия 2. если робот может увидеть цвет соседних клеток без перемещения (сенсоры позволяют разглядеть соседей, не вставая на них)

  • Идея: просто определить, какая из соседних клеток окрашена, и переместиться в неё.
  • Пошаговый алгоритм:
    1. Осмотреть соседние клетки N, E, S, W (которые существуют в прямоугольнике).
    2. Найти ту, которая окрашена.
    3. Переместиться в эту клетку и остановиться.
  • Преимущество: только одно перемещение, если окрашена ближайшая клетка; или до 4 перемещений, если нужно выбрать среди нескольких соседей.

Пояснение корректности:

  • В условии сказано, что одна соседняя клетка окрашена. В первом случае робот не знает, какая именно, поэтому он последовательно проверяет каждую соседнюю клетку и тем самым обязательно попадёт на окрашенную. В втором случае он может сразу увидеть окрашенную соседнюю клетку и туда перейти.
  • В любом случае стратегия заканчиваетcя, потому что строгие условия задачи гарантируют существование именно одной окрашенной соседней клетки и робот обязательно её найдёт.

Если хочешь, могу привести конкретный пример с заданными размерами прямоугольника и примерной позицией старта, чтобы проследить движение шаг за шагом. Также могу адаптировать решение под твой класс/уровень (например, более формально-математически или более наглядно с рисунками).