Минимальное преобразование
(Время: 1 сек. Память: 32 Мб Сложность: 50%)
Дано натуральное число N. Из него необходимо получить число M по следующим правилам:
− на каждом шаге либо вычитают утроенную сумму цифр, либо прибавляют утроенную сумму цифр числа.
− число на каждом шаге должно быть натуральным.
За какое минимальное K – число ходов из числа N можно получить число M?
Если это возможно сделать, то выведите последовательность чисел после каждого шага включая первое и последнее числа, иначе выведите «-1».
Входные данные
Входной файл INPUT.TXT содержит два натуральных числа N и M (1 ≤ N, M ≤ 106).
Выходные данные
В выходной файл OUTPUT.TXT в первой строке выведите число K или «-1». Во второй строке при возможности построить последовательность выведите K+1 чисел через пробел. При наличии нескольких решений выведите любое.
Примеры
| № | INPUT.TXT | OUTPUT.TXT |
| 1 | 1 16 | 2 1 4 16 |
| 2 | 22 1 | 3 22 34 13 1 |
| 3 | 1 3 | -1 |
| 4 | 5 5 | 0 5 |
Автор задачи
Владимир Игоревич Лукьянчиков
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|