9/11/2008

3978 - Obfuscation

Axy y yo lo hicimos recursivo. Es un backtracking pero con memoria para no repetir cálculos.

int f(int i) = Retorna la cantidad de maneras diferentes en que podemos decodificar la string dada si inicialmente nos paramos en la letra en la posición i. Si logra recurrir hasta el final, guarda la respuesta que encontró en un vector para imprimirla en caso de no ser ambigua.

Si f(0) == 0 -> Imposible
Si f(0) == 1 -> Imprimir respuesta
Si f(0) >= 2 -> Ambiguo

No hay comentarios: