Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 14.12.2021 во всех областях

  1. 1 балл
    В таком случае предлагаю следующий алгоритм: 1. Создаем массив 100х160, который будет хранить статусы блоков в нашей комнате. Статусы могут быть следующие: -2 (неинтересно) - такой статус имеет блок, о котором пока не известно, находится ли он в пределах комнаты -1 (неизвестно) - такой статус имеет еще неисследованный блок, но о котором известно, что он в комнате или является ее стенкой 0 (пусто) - пустое пространство внутри комнаты >0 - исследованный блок внутри комнаты или ее стенка. Может принимать значение равное номеру слота робота, с которым выполнилось сравнение. 2. Заполняем массив статусом "неинтересно". Считаем что робот находится в позиции X=80, Y=50 (центр нашего массива). 3. Присваиваем этой клетке статус "пусто". Просматриваем четыре, граничащие с ней клетки. Если они находятся в пределах массива и имеют статус "неинтересно", присваиваем им статус "неизвестно". 4. Ищем в массиве ближайшую клетку со статусом "неизвестно". Если таких клеток нет - конец работы 5. Иначе, перемещаемся к ней и исследуем. 6. Если она пустая, переходим к пункту 3 7. Иначе, присваиваем клетке тип блока. Переходим к пункту 4 Понятно, что под словами "просматриваем", "ищем", "перемещаемся" может скрываться довольно сложный код, но я, по крайней мере, начал дробить сложную задачу на задачи меньшего размера.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...