Aritmética verbal
La cantidad de acertijos, pasatiempos y rompecabezas que han ido surgiendo a lo largo de los siglos es inmensa. Entre ellos, los puzzles matemáticos constituyen una categoría en sí misma, con acertijos sobre aritmética, combinatoria, topología o probabilidad.
Hoy nos quedaremos con la llamada aritmética verbal, o criptaritmética. En ella, los puzzles son operaciones matemáticas en las que los dígitos han sido sustituídos por letras, y hay que encontrar los números originales.
ada | 767 | |
+ byron | ⇒ | + 39508 |
molar | 40275 |
Entrada
Cada caso de prueba es una operación aritmética (suma o producto) en la que los dígitos han sido sustituídos por letras minúsculas del alfabeto inglés. Se proporcionan los dos operandos separados por el operador ("+" o "*"), seguidos de un símbolo igual y el resultado de la operación, también en letras. Los números y los operadores están separados por un espacio.
Los operandos no tendrán más de 8 letras minúsculas; además, se garantiza que no habrá más de 10 letras diferentes en total.
Salida
Para cada caso de prueba el programa escribirá la operación asociada tras convertir las letras a dígitos, de modo que todas las apariciones de la misma letra se conviertan al mismo dígito y viceversa, y la operación aritmética sea correcta. Se garantiza que la solución será única.
Se debe añadir un espacio antes y después de cada operador. No se considera válida una asignación en la que cualquiera de los números tenga ceros superfluos a la izquierda, pero ten en cuenta que alguno de los valores podría ser 0, que sí es válido.
Entrada de ejemplo
ada + byron = molar ada * byron = leyenda acepta + elreto = mental solo + sola = baile
Salida de ejemplo
767 + 39508 = 40275 202 * 36951 = 7464102 473924 + 356321 = 830245 6797 + 6793 = 13590