Crypt Kicker II X78761


Statement
 

pdf   zip

html

Un método popular pero inseguro de encriptar texto es permutar las letras del alfabeto. Es decir, en el texto, cada letra del alfabeto es reemplazada de manera consistente por otra letra. Para asegurar que la encriptación sea reversible, ninguna letra es reemplazada por la misma letra.

Un método poderoso de criptoanálisis es el ataque de texto plano conocido. En un ataque de texto plano conocido, el criptoanalista logra tener una frase o una oración conocida encriptada por el enemigo, y al observar el texto encriptado deduce el método de codificación.

Tu tarea es descifrar varias líneas de texto encriptado, asumiendo que cada línea utiliza el mismo conjunto de reemplazos, y que una de las líneas de entrada es la forma encriptada del texto plano "the quick brown fox jumps over the lazy dog".

Entrada

El input comienza con un solo número entero positivo en una línea por sí mismo, indicando el número de casos de prueba, seguido de una línea en blanco. También habrá una línea en blanco entre cada dos casos consecutivos. Cada caso consiste en varias líneas de input, encriptadas como se describe anteriormente. Las líneas encriptadas contienen solo letras minúsculas y espacios, y no exceden los 80 caracteres de longitud. Hay como máximo 100 líneas de input.

Salida

Para cada caso de prueba, descifra cada línea e imprímela en la salida estándar. Si hay más de una posible descifrado, cualquiera servirá. Si es imposible descifrar, muestra "No solution" (sin solución). La salida de cada dos casos consecutivos debe estar separada por una línea en blanco.

Public test cases
  • Input

    1
    
    vtz ud xnm xugm itr pyy jttk gmv xt otgm xt xnm puk ti xnm fprxq
    xnm ceuob lrtzv ita hegfd tsmr xnm ypwq ktj
    frtjrpgguvj otvxmdxd prm iev prmvx xnmq
    

    Output

    Falta el código
  • Information
    Author
    Language
    Spanish
    Official solutions
    C
    User solutions