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

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

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

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

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

Определите, сколько точек будет закрашено после выполнения следующего алгоритма:

Повтори 15 [Вперёд 7 Перекрасить Назад 4 Перекрасить Назад 4]

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

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

# Алгоритм
for _ in range(15):
    pos += 7
    status[pos] = not status.get(pos, 0)
    pos -= 4
    status[pos] = not status.get(pos, 0)
    pos -= 4

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

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

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