El código César es un método antiguo (y no particularmente seguro) de
cifrado. En este problema consideramos la siguiente variante: Dado un
texto en castellano, con un léxico más o menos usual, primero eliminamos
todas las tildes, y cambiamos todas las ‘ñ’
por ‘n’. Después, convertimos las letras minúsculas a
mayúsculas. A continuación, eliminamos cualquier carácter que no sea una
letra, un salto de línea, un espacio, o cualquiera de los caracteres
siguientes:
- . , ; : ? ! ( )
Finalmente, escogemos al azar un número
entre 1 y 25, y transformamos cada letra
en
,
cíclicamente. Por ejemplo, con
,
‘A’ pasaría a ser ‘C’, ‘B’
pasaría a ser ‘D’, …, ‘X’ pasaría a ser
‘Z’, ‘Y’ pasaría a ser ‘A’, y
‘Z’ pasaría a ser ‘B’.
¿Podéis descifrar un texto dado?
La entrada consiste en el resultado de cifrar un texto como se ha explicado anteriormente. El texto proporcionado tiene entre 300 y 3000 caracteres. No hay líneas vacías, y cada línia no tiene más de 80 caracteres.
Escribid el texto una vez descifrado.
Hay 10 juegos de pruebas privados, todos diferentes al ejemplo, y cada uno vale 10 puntos.
Aunque no se podrá controlar de manera automàtica, para este problema sólo se evaluará el mejor de los 10 primeros envíos de cada participante. Los demás, si existen, se eliminarán después de la prueba.
Recordad que este código
string s;
while (getline(cin, s)) {
...
}
permite leer todas las líneas de la entrada hasta su final,
almacenando cada vez una línea completa en el string s.
Autoría: Salvador Roura
Generación: 2026-01-25T11:19:01.154Z
© Jutge.org, 2006–2026.
https://jutge.org