Решение проблемы безопасного взлома
Ноль вниз голосовать
любимый
Этот вопрос был недавно задан в конкурсе, который теперь закончился, но они не делятся с нами передовицами, и этот вопрос застрял у меня в голове, и я не могу получить ответ оптимальным способом, кто-нибудь, пожалуйста, объясните правильный подход для этого очень полезно -: (и если возможно, пожалуйста, объясните, как редакционный THNAKS)
"Satish has a combination safe that consists of multiple rotating dials that are placed next to each other. Each dial is etched with digits 0 through 9, in order. At any stage, exactly one of the digits on each dial is visible. The string formed by concatenating the visible digits of each dial is termed as the current combination. The visible digit on a dial can be changed by rotating the dial up or down. Rotating the dial up increases the digit by 1 i.e. 0 to 1, 1 to 2, and so on. The digits on a dial wrap around so a 9 is followed by 0. Rotating the dial down changes the digit in the reverse direction. We can rotate multiple adjacent dials at the same time. That is, in a single step we can take an arbitrary number of consecutive dials, and rotate all of them one step in the same direction (i.e., either all of them down, or all of them up). Satish is given the current combination (C) and the required combination (R) that unlocks the safe. Write a program to determine the minimum number of steps required to open the safe.
Пример: рассмотрим случай, когда C-это “986”, а R - “007”. Это можно решить в два этапа следующим образом:
Шаг-1: Поверните все 3 циферблата вверх. “986” до “097”
Шаг-2: поверните 2-й циферблат вверх. “097” до “007”,
бывший. 9 2 7 7 8 2 4 3 2 8 Чтобы 5 4 5 7 4 9 4 6 2 9 нужно 16 шагов."
Что я уже пробовал:
Я пытался решить ее грубой силой, но она дала тле .
Patrice T
Можете ли вы дать ссылку на конкурс ?