Por Nacho Cabanes
Nivel de dificultad aproximado (1 a 5): 3
En Google hemos diseñado el mejor lenguaje, que hemos llamado Googlerense. Para traducir textos a Googlerense, basta tomar cualquier mensaje en inglés y reemplazar cada letra con otra letra del alfabeto inglés. Esta asignación es de uno a uno y sólo uno, lo que significa que una misma letra de entrada siempre será reemplazada con una misma de salida, y que diferentes letras de entrada siempre se reemplazan con letras de salida diferentes. Una letra puede ser sustituido por ella misma. Los espacios se dejan tal cual.
Por ejemplo (y ésta es una pista), nuestro impresionante algoritmo de traducción incluye las tres siguientes asignaciones: 'a' -> 'y', 'o' -> 'e' y 'z' -> 'q'. Esto significa que "a zoo" se convertirá en "y qee".
El Googlerense se basa en las mejores asignaciones de reemplazo posibles, por lo que estas asignaciones nunca cambiarán. Siempre serán las mismas, en todos los casos de prueba. No diremos el resto de nuestro mapeo, porque eso haría que el fuera problema demasiado fácil, pero los ejemplos que verás más abajo te pueden ayudar.
Dado un texto en Googlerense, ¿puedes traducirlo a volver al texto normal?
Como datos de prueba, este problema sólo tiene una "entrada pequeña" . Una vez que haya resuelto eon esos datos, habras terminado de solucionar este problema.
Entrada
La primera línea de la entrada da el número de casos de prueba, T. Luego siguen T casos de prueba, uno por línea.
Cada línea se compone de una cadena G en Googlerense, compuesto por una o más palabras que contengan las letras de la 'a' a la 'z'. Habrá exactamente un espacio entre aplabras consecutivas y no habrá espacios al comienzo o al final de una línea.
Salida
Para cada caso de prueba, la salida debe ser una línea que contenga "Case # X: S", donde X es el número de caso y S es la cadena inglesa en que se convierte la original Googlerense G.
Límites (en la propuesta original de Google Code Jam)
1 <= T <= 30
G contiene un máximo de 100 caracteres.
No se garantiza que el texto sea inglés correcto.
(Asegúrate de que has leído las preguntas frecuentes antes de plantear tu solución)
Entrada
3
ejp mysljylc kd kxveddknmc re jsicpdrysi
rbcpc ypc rtcsra dkh wyfrepkym veddknkmkrkcd
de kr kd eoya kw aej tysr re ujdr lkgc jvSalida
Case #1: our language is impossible to understand
Caso #2: there are twenty six factorial possibilities
Caso #3: so it is okay if you want to just give up