Cómo resolver el problema INUMBER usando gráficos

Esto se puede resolver usando BFS (Breadth First Search). Sea (p, q) un estado que denota un número con una suma de dígitos igual a p y el resto del módulo n igual a q.

De cada estado (p, q) podemos agregar un dígito i a su final y alcanzar el estado (p + i, (q * 10 + i)% n). Por lo tanto, de cada estado, podemos generar otros 10 estados variando i de 0 a 9.

Para cada estado, hacemos un seguimiento del número que agregué al estado anterior para alcanzar ese estado. Esto será necesario en el seguimiento posterior.

Por lo tanto, debemos comenzar desde el estado (0,0) y llevar a cabo la búsqueda de amplitud hasta llegar al estado (n, 0). Después de lo cual haremos un retroceso para obtener los dígitos en orden inverso. Asegúrese de usar cadenas aquí, de lo contrario, puede obtener una respuesta incorrecta debido a ceros a la izquierda. 🙂

Aquí está el enlace a mi solución: diptanshu94 / SPOJ-solutions