¿Necesita ayuda para construir un algoritmo de búsqueda exhaustivo eficiente?

Hay unos 10 botones. Estos botones pueden desbloquear el bloqueo si se presionan en el orden correcto (5 pulsaciones en secuencia). Cada vez que se presiona un botón se activa el desbloqueo.

Ejemplo: "contraseña" es 123456 y presiono los botones 0 1 2 3 4 5 6 Desbloqueo la cerradura presionando el 6º botón.

Necesito diseñar un algoritmo que pruebe todas las combinaciones posibles de la manera más eficiente (es decir, se debe presionar la cantidad mínima de botones).

Puedo interpretar el número de botón como dígito y el número de botón presionado en secuencia como posición de dígito y luego probar todas las combinaciones 99999 para intentar desbloquear el bloqueo, pero creo que hay un algoritmo más eficiente para hacerlo.

¿Hay algo que pueda hacer para optimizar esta búsqueda?

Respuestas a la pregunta(1)

Su respuesta a la pregunta