Алгоритм решения задания 15. Часть 5
Учимся решать 15 задания пятого типа
Читать
Исполнитель Кузнечик действует на координатной прямой. В начальный момент Кузнечик находится в начале координатной прямой, в точке с координатой 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()))
