110204 Superdescifrador - Programming Challenges

Transcripción

110204 Superdescifrador - Programming Challenges
Skiena y Revilla, Concursos Internacionales de Informática y Programación
Manual de Entrenamiento por Internet, Universidad de Valladolid, España, 2003. ISBN: 84-8448-371-1
110204
Superdescifrador
Un método muy común, y también muy inseguro, de cifrar texto consiste en permutar las letras del
alfabeto. En otras palabras, cada letra del alfabeto es sustituida sistemáticamente en el texto por otra.
Para garantizar que el cifrado es reversible, nunca se sustituyen dos letras diferentes por la misma.
El objetivo de este problema es descifrar varias lı́neas de texto cifradas, suponiendo que cada lı́nea
usa un conjunto de sustituciones diferente, y que todas las palabras utilizadas en el texto descifrado
provienen de un diccionario de palabras conocidas.
Entrada
La entrada consta de una lı́nea que contiene un entero n, seguido de n palabras en minúscula,
una por lı́nea, en orden alfabético. Estas n palabras componen el diccionario de palabras que pueden
aparecer en el texto descifrado. A continuación del diccionario aparecen varias lı́neas de entrada. Cada
una de ellas está cifrada como se ha descrito antes.
No puede haber más de 1.000 palabras en el diccionario. Ninguna palabra tendrá más de 16 letras.
Las lı́neas cifradas contienen únicamente letras minúsculas y espacios, y su longitud nunca supera los
80 caracteres.
Salida
Descifrar cada lı́nea e imprimirla en la salida estándar. Si hay varias soluciones, cualquiera de ellas
será válida. Si no hay ninguna solución, se debe sustituir cada letra del alfabeto por un asterisco.
Ejemplo de entrada
6
and
dick
jane
puff
spot
yertle
bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn
xxxx yyy zzzz www yyyy aaa bbbb ccc dddddd
Ejemplo de salida
dick and jane and puff and spot and yertle
**** *** **** *** **** *** **** *** ******
http://www.programming-challenges.com
c
copyright 2006

Documentos relacionados

111001 Pecas - Programming Challenges

111001 Pecas - Programming Challenges Consideremos que la espalda de Dick es un plano con pecas en varios puntos (x, y). La tarea del problema consiste en decirle a Richie cómo conectar los puntos para minimizar la cantidad de tinta u...

Más detalles