У нас есть число, скажем, m, и у нас есть две заданные операции, и наша задача состоит в том, чтобы найти минимально возможное значение m с минимальным количеством шагов для достижения
Две операции
Мы можем добавить цифру числа (будет считаться как 1 шаг).
Мы можем добавить фиксированное число k (которое дано)
Мы можем повторять вышеуказанные операции любое количество раз.
Например: m = 11 и k = 13
вывод: 1 4 (1является минимальным значением, а 4 является числом шагов)
11 + 13 = 24 (1 шаг) + 13 = 37 (1 + 1 = 2 шага) = 3 + 7 = 10 (3 шага) =1 + 0 = 1 (4 шага)
что я пробовал?
Итак, так как такие вопросы обрабатываются BFS таким образом, что мы посещаем каждый узел, пока не получимминимум (я думал, что это основано на BFS, поправьте меня, если я не прав).Я думал, что мы делаем BFS, пока мы не получим повторяющуюся цифровую сумму или одно и то же число, но превышающее ее границы, потому что ограничения m и k до 10 ^ 10.
Есть ли что-то, что я могу сделать, чтобы оптимизировать мою BFS илиЧто-то еще, что я должен сделать, я имею в виду, должен ли я использовать какой-то другой алгоритм?
Просто нужно некоторое руководство относительно того, что еще я могу сделать!