ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 6218. Авторская задача

Исполнитель Кузнечик действует на координатной прямой. В начальный момент Кузнечик находится в начале координатной прямой, в точке с координатой 0.

У исполнителя существует 3 команды:  Вперёд n (где n — целое число), вызывающая передвижение Кузнечика на n точек вперёд; Назад n (где n — целое число), вызывающая передвижение Кузнечика на n точек назад; Перекрасить, закрашивающая точку, где в данный момент находится Исполнитель, если эта точка еще на закрашена. Если точка уже закрашена, то команда Перекрасить отменяет закраску этой точки.

Запись Повтори k [Команда 1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.

Определите, сколько точек будет закрашено после выполнения следующего алгоритма:
Повтори 16 [Вперёд 9 Перекрасить Назад 6 Перекрасить Назад 3 Вперёд 2 Перекрасить]

# Словарь с координатой клетки
# и её статусом: закрашена или нет
status = {}

# Текущая позиция кузнечика
pos = 0

# Алгоритм
for _ in range(16):
    pos += 9
    status[pos] = not status.get(pos, 0)
    pos -= 6
    status[pos] = not status.get(pos, 0)
    pos -= 3
    pos += 2
    status[pos] = not status.get(pos, 0)

# Выводим кол-во закрашенных клеток
print(sum(status.values()))
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие