Нужна помощь в построении эффективного алгоритма исчерпывающего поиска
Есть 10 кнопок. Эти кнопки могут разблокировать замок при нажатии в правильном порядке (5 нажатий в последовательности). Каждое нажатие кнопки запускает проверку разблокировки.
Пример: & quot; пароль & quot; 123456 и я нажимаю кнопки 0 1 2 3 4 5 6 Я разблокирую блокировку от 6-го нажатия кнопки.
Мне нужно спроектировать алгоритм, который пробует все возможные комбинации наиболее эффективным способом (т.е. нужно нажимать минимальное количество кнопок).
Я могу интерпретировать номер кнопки как цифру, а номер нажатой кнопки последовательно как позицию цифры, а затем пробовать все комбинации 99999, чтобы разблокировать замок, но я чувствую, что для этого есть более эффективный алгоритм.
Что я могу сделать, чтобы оптимизировать этот поиск?