RETO10D - Encriptación de mensajes
Encriptación de mensajes
Uno de los métodos más antiguos para codificar mensajes es el conocido como cifrado Cesar. Su funcionamiento es simple: cada una de las letras del mensaje original, es sustituida por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto.
Así, si utilizamos un desplazamiento de 2, las apariciones de la letra 'a' se sustituyen por la 'c', todas las apariciones de la 'b' por 'd', etc. El método tradicional comienza de nuevo al llegar al final del alfabeto, de forma que, con el desplazamiento de 2, la 'y' se sustituye por la 'a' y la 'z' se sustituye por la `b'.
Los desplazamientos también pueden ser negativos; si utilizamos un desplazamiento de -1, la 'e' se convertirá en 'd', mientras que la 'a' pasará a ser 'z'.
Nuestro cifrado Cesar no codifica los caracteres que no sean letras anglosajonas. Así, por ejemplo,
los espacios o los símbolos de puntuación no sufrirán cambio alguno.
Input
La entrada está formada por un número indeterminado de casos de prueba.
Cada caso de prueba consiste en una única línea que usted debe codificar en el papel, usando el metodo cesar con los saltos que usted defina, y entrarla al programa para que la decodifique; de cada linea ingresada al programa el primer caracter es el código de la letra 'p', seguido de un mensaje codificiado con el método Cesar descrito antes, (utilizando el desplazamiento adecuado para que la letra 'p' se codifique con ese primer carácter)
Los casos de prueba terminan con un mensaje codificado que, una vez traducido, contiene exactamente la cadena "FIN". Cuando se lee este mensaje codificado el programa debe terminar sin generar ninguna otra salida más.
Output
Para cada caso de prueba, el programa indicará el número de vocales no acentuadas que contiene el mensaje codificado.
Example
Input:pEsta cadena esta sin codificar
pfin
qbfjpvBFJPV
ozdhntZDHNT
xXzwoziui-Um
qGJO
Output:12
1
10
10
4
Added by: | MaratónAFDM |
Date: | 2017-10-06 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | C NCSHARP CSHARP C++ 4.3.2 JAVA JULIA NODEJS PHP PYTHON PYPY3 VB.NET |