(И. Карпачёв) У исполнителя имеются две команды, которые обозначены латинскими буквами:
Первая команда увеличивает число на экране на \(7.\) Вторая команда уменьшает число на экране на \(4\) (отрицательные числа допускаются). Сколько различных чисел можно получить из числа \(0\) с помощью программы, которая содержит ровно \(9\) команд, при условии, что траектория программы ни разу не проходит через число, оканчивающееся на цифру \(4?\)
Решение:
Python
def calc(arr):
tmp = [x + 7 for x in arr] + [x - 4 for x in arr]
return [x for x in tmp if abs(x) % 10 != 4]
def bfs(arr, step):
if step == 9:
return set(arr)
return bfs(calc(arr), step+1)
print(len(bfs([0], 0)))
Ответ: \(5\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене