Ejercicios Propuestos Algorítmica I
Ejercicios Propuestos Algorítmica I
Ejercicios Propuestos Algorítmica I
ALGORÍTMICA I
1. La fuerza de atracción entre dos masas, m1 y m2 separadas por una distancia d, está dada por la
fórmula :
G * m1 * m2
F
d2
Donde G es la constante de gravitación universal, G=6.673x10-8 cm3/g.seg2.
Elaborar un programa que lea la masa de dos cuerpos y la distancia entre ellos y, a continuación, obtenga
la fuerza gravitacional entre ella. La salida debe ser en dinas; una dina es igual a gr.cm/seg2.
2. La famosa ecuación de Einstein para conversión de una masa m en energía viene dada por la fórmula:
E=mc2, donde c es la velocidad de la luz y su valor es: c=2.99792458x10 10 cm/sg. Elaborar un programa
que lea una masa en gramos y obtenga la cantidad de energía producida cuando la masa se convierte en
energía. Nota: Si la masa se da en gramos, la fórmula produce la energía en ergios.
3. Elaborar un programa para convertir una medida dada en pies a sus equivalentes en: a) yardas; b)
pulgadas; c) centímetros, y d) metros; donde (1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2,54 cm,
1m = 100 cm). Leer el número de pies y mostrar por pantalla el número de yardas, pies, pulgadas,
centímetros y metros.
4. Elabore un algoritmo que calcule e imprima el costo de producción de un artículo, teniendo como datos la
descripción y el número de unidades producidas. El costo se calcula multiplicando el número de unidades
producidas por un factor de costo de materiales de 3.5 y sumándole al producto un costo fijo de 10000.
5. Elaborar un algoritmo que calcule e imprima el costo de un terreno cuadrado o rectangular, teniendo
como datos la anchura y la longitud en metros, y el costo del metro cuadrado.
6. Elaborar un algoritmo para calcular el promedio de calificaciones de un estudiante. Los datos disponibles
son el nombre y las cuatro calificaciones de los exámenes. La información requerida es el Nombre y las
calificaciones. La calificación final es obtenida al multiplicar las calificaciones 1, 2, 3 y 4 por los
porcentajes 30%, 20%, 10% y 40%, respectivamente, y sumando los productos
7. La velocidad de la luz es 300,000 kilómetros por segundo. Elaborar un algoritmo que lea un tiempo en
segundos e imprima la distancia que recorre en dicho tiempo.
9. Una temperatura en grados Centígrados (C) se puede convertir a su equivalente Fahrenheit (F) con la
formula:
Elaborar un algoritmo que lea una temperatura en grados centígrados y obtenga e imprima la
temperatura Fahrenheit equivalente.
10. Elaborar un algoritmo que lea el artículo y su costo: la utilidad es el 150% y el impuesto es el 19%;
calcular e imprimir artículo, utilidad, impuesto y precio de venta.
1
11. Elaborar un algoritmo que permita leer valores para X, Y, Z, W; e imprima el valor de F.
F
4x 2
y 2 2 zw 2
1
4x 2
3
b4
12. Elaborar un algoritmo que lea el radio (r) de una esfera, calcule e imprima el volumen y el área.
4r3
VOLUMEN = AREA = 4r2
2 3
14. Elaborar un algoritmo que lea la cantidad de dólares a comprar y el tipo de cambio (costo de un dólar) en:
yenes, pesetas, libras esterlinas y nuevos soles; calcular e imprimir la cantidad a pagar en yenes,
pesetas, libras esterlinas y nuevos soles.
15. Elaborar una algoritmo que permita leer el tamaño de un ángulo en radianes e imprimir la tangente,
cotangente, secante y cosecante.
16. Elaborar un algoritmo que permita leer el tamaño de un ángulo en grados e imprima el seno, coseno y
arco tangente. Deben convertirse los grados leídos a radianes antes de hacer los cálculos.
12a1/2
Z =
b3/4
1. Elabore un algoritmo para calcular e imprimir el precio de un terreno del cual se tiene los siguientes datos:
largo, ancho y precio por metro cuadrado. Si el terreno tiene mas de 400 metros cuadrados se hace un
descuento del 10%.
2. Elabore un algoritmo para calcular e imprimir los valores de X y Y, teniendo como entrada el valor de X y
calculando el de Y de acuerdo con las siguientes condiciones
Si X < 0 entonces Y = 3X + 6
Si X > = 0 entonces Y = X2 + 6
2
3. De acuerdo con la clase de sus ángulos los triángulos se clasifican en:
Elaborar un algoritmo que permita leer el tamaño de los tres ángulos (A, B,C) de un triángulo e imprima
de qué tipo es.
4. Elabore un algoritmo que permita leer los datos de un empleado: Nombre, Tipo de empleado, número de
horas trabajadas y pago por hora; calcular e imprimir el sueldo a pagar. Si el empleado es tipo 1 se le
pagan las horas extras (más de 40 horas) a 1.5 del pago por cada hora, si es tipo 2 a 2, si es tipo 3 a 2.5
y si es tipo 4 a 3 veces el pago por hora.
5. Elabore un algoritmo que lea el número del mes entre 1 y 12 y, que imprima el nombre del mes
correspondiente: si es 1 ‘Enero’, si es 2 ‘Febrero’,...etc.
6. Elaborar un algoritmo que permita hacer conversiones de temperaturas entre grados Fahrenheit, Celsius,
Kelvin y Rankine. Primero debe preguntar qué tipo de grados quiere convertir. Por ejemplo; si se le indica
que se desea convertir una temperatura en grados Fahrenheit, debe leer la cantidad de grados, y luego
calcular e imprimir su equivalente en grados Celsius, kelvin y Rankine, y así, debe hacer lo mismo para
cada uno de los otros tipos. Para convertir a Celsius la temperatura Fahrenheit se le resta 32 y se
multiplica por 5/9. para convertir a Kelvin, se le suma 273 a los grados Celsius. Para convertir a Rankine a
los grados Fahrenheit se le suma 460.
ax + by = c
dx + ey = f
Elaborar un algoritmo que lea los coeficientes a, b, c, d, e y f y que calcule e imprima los valore de X y Y.
Si (ae - bd) < > 0; debe calcular e imprimir los valores de X y Y, en caso contrario debe imprimir un
mensaje que indique que no tiene solución.
PRACTICA 3: Precondicionales
1. Elabore un algoritmo que lea un valor N y que imprima un triángulo de asteriscos, como se muestra a
continuación, si el valor leído es 5 imprimir:
*
**
***
****
*****
2. Elaborar un algoritmo que permita leer un número N par; y, calcule e imprima la suma de los números
pares del 2 hasta el número leído. Si el número leído es menor a 2 debe imprimir un mensaje de error.
3. Elaborar un algoritmo que permita leer el valor inicial y el valor final en grados Fahrenheit ; e imprima una
tabla con equivalencias en grados Centígrados, desde el valor inicial hasta el valor final de 1 en 1.
Fahrenheit Centígrados
Valor Inicial 99.99
- 99.99
-
-
valor final 99.99
3
4. Elaborar un algoritmo que imprima la secante, cosecante y tangente de X; para valores de X desde –1
hasta 1 con intervalos de 0.1. Debe imprimir una tabla:
X Secante X Cosecante X Tangente X
-1.0 99.99 99.99 99.99
-0.9 99.99 99.99 99.99
.
.
1.0 99.99 99.99 99.99
5. Elaborar un algoritmo que permita que los valores de los coeficientes a, b, c; se comporten así: B debe ir
de 1 hasta 7. C debe ir de 7 a 1. A debe tomar cada vez que la diferencia de B – C. Y, que imprima para
cada juego de valores de a, b, c; si tiene raíz única, raíces complejas o raíces reales.
6. Elaborar un algoritmo para calcular la cantidad que se tendría ahorrada después de 10 años, si se
deposita mil nuevos soles mensuales a una tasa de interés mensual de 3%, capitalizable cada mes, es
decir, que al capital se le agregan los intereses .
7. El departamento de Policía y tránsito de la ciudad de Hermosillo, tiene los datos de las infracciones
levantadas por sobrepasar los limites de velocidad establecidos. El departamento dividió a la ciudad en
tres zonas, para cada una de las cuales desea obtener datos estadísticos que muestran las infracciones
levantadas por el motivo indicado en el párrafo anterior. Por cada infracción se tiene los siguientes datos:
Nota: El monto de la multa se calcula multiplicando S/.3.00 por cada kilómetro por hora que se
exceda el límite de velocidad.
8. Una compañía manufacturera fabrica el producto A. Para fabricar una unidad de dicho producto se
requiere los siguientes materiales:
Material 1: 3 unidades
Material 2: 4 unidades
Material 3: 1 unidad
Material 4: 2 unidades
Material 5: 3 unidades
Material 6: 2 unidades
4
Se tiene como datos el costo de una unidad de cada uno de los seis materiales. Elaborar un algoritmo
que lea los costos de los materiales, luego que lea pedidos del producto A en cada pedido se tiene el dato
cantidad de unidades del producto A; cuando termine de leer los pedidos, imprimir:
1 999 99,999.99
2 999 99,999.99
3 999 99,999.99
4 --- --------
5 --- --------
6 999 99,999.99
AUMENTOS DE SUELDOS
NOMBRE SUELDO ANTERIOR SUELDO ACTUAL
COSTO DE PRODUCCIÓN
UNIDADES FACTOR COSTO COSTO DE
ARTICULO PRODUCIDAS COSTO FIJO PRODUCCION
5
Datos disponibles por cada articulo:
Descripción
Cantidad de unidades producidas
Factor de costo de materiales
Costo fijo
Cálculo del costo de producción =
Número de unidades producidas X Factor de costo de materiales + costo fijo
Al final imprimir el total de artículos procesados. Y el total general del costo de producción.
PRECIOS DE VENTA
COSTO DE PRECIO DE
ARTÍCULO PRODUCCIÓN UTILIDAD IMPUESTO VENTA
Cálculos:
Utilidad = 120% del costo de producción
Impuesto = 15% (costo de producción + utilidad)
Precio de venta = costo de producción + utilidad +impuesto
3. Elaborar un algoritmo para imprimir, una factura que contenga los datos de los artículos vendidos a un
cliente, y que tenga el siguiente formato:
FACTURA
NOMBRE DEL CLIENTE: XXXXXXXXXXXXXXXXXXXXXXXXX
PRECIO PRECIO
ARTICULO CANTIDAD UNITARIO TOTAL
SUBTOTAL 9,999,999.99
IMPUESTO 9,999,999.99
19%
TOTAL 9,999,999.99
6
|Cálculos
Precio total = Cantidad de artículos X precio unitario
Subtotal = La suma de los precios totales
Impuesto = 19% del subtotal
Total = Subtotal + Impuesto
NOMINA QUICENAL
NOMBRE SDO. BRUTO IMPUESTO SDO. NETO
Cálculos:
Sueldo bruto = (sueldo mensual / 2) + bonificación de antigüedad.
La bonificación de antigüedad se otorga a partir del tercer año de labores y es, de 2% anual
1 300 30 3%
301 700 50 8%
701 1100 100 11%
1101 1700 150 16%
1701 adelante 200 20%
Cuando el sueldo bruto excede el salario mínimo, se calcula el excedente y se busca éste en la tabla a fin
de determinar en cual rango se encuentra.
El impuesto será la cuota fija más el porcentaje indicado en la diferencia del excedente sobre el límite
inferior.
5. Elabore un algoritmo que contabilice una cuenta de cheques. Al inicio se le introduce el nombre del
cuentahabiente y el saldo inicial. A continuación se pueden hacer depósito y retiros. Cuando sea depósito
se incrementa al saldo y cuando sea retiro se resta. El programa terminará cuando ya no se desee hacer
movimientos. Se requiere la impresión del siguiente reporte:
7
ESTADO DE CUENTA
1 999,999.99 99,999,999.99
2 999,999.99 99,999,999.99
3 999,999.99 99,999,999.99
4 999,999.99 99,999,999.99
.
.
N
6. Se tiene los datos del transporte del elevador de un edificio, por cada viaje hecho durante el día, se tiene
los siguientes datos:
Viaje:
Cantidad de personas: ---
Peso de viaje: ---
Viaje:
Cantidad de personas: ---
Peso de viaje: ---
Viaje:
Cantidad de personas: ---
Peso de viaje: ---
Elaborar un algoritmo que lea los datos de los viajes del día, y al final que imprima:
7. Se tienen los datos de varios autos importados, elaborar un algoritmo que permita leer los datos de cada
automóvil: marca, orígen y costo; imprimir el siguiente reporte:
ALEMANIA: ----
8
JAPON: ----
ITALIA: ----
USA: ----
PAIS DEL QUE SE IMPORTO MAS AUTOS: X----------------------------------X
Cálculos:
IMPUESTO si el orígen es Alemania el impuesto es 20%, si es de Japón el impuesto es 30%, si es de
Italia el 15% y si es de USA el 8%.
PRECIO VTA. Se suma el costo mas el impuesto.
TOTALES se pide el total de los autos importados, así como totales del costo, impuesto y precio de venta.
Por último el total de autos importados de cada país.
NOMINA QUINCENAL
NOMBRE SUELDO BRUTO IMPUESTO SUELDO NETO
Cada alumno puede haber llevado varios cursos, por cada curso, se tiene los datos:
Curso: X--------------------------------------X
Calificación 1: ---
Calificación 2: ---
Calificación 3: ---
----------
----------
----------
9
Elaborar un algoritmo que lea los datos de cada uno de los alumnos y por cada alumno, los datos de
cada uno de los cursos e imprima el siguiente reporte:
REPORTE DE CURSOS
NOMBRE CURSOS CALIF. FINAL OBSERVACIÓN
Cálculos:
CALIF. FINAL es el promedio de las tres calificaciones del curso.
OBSERVACION es el comentario APROBADO o DESAPROBADO según sea la calificación final.
TOTAL ALUMNO se imprime el número de materias que cursó y el promedio de la calificaciones finales
de todas las materias que cursó
TOTAL GENERAL se imprime la cantidad de los alumnos procesados y el promedio general de todos los
alumnos.
10
PRACTICA 5: Programación Modular, Funciones
de la cual se tiene los datos X y Y; los mismos que deberán solicitarse y leerse. Factorial de X se divide
entre el factorial de Y multiplicado por el factorial de X – Y.
2. Elaborar un algoritmo que ofrezca un menú de opciones, mediante el cual se pueda escoger calcular el
área de las figuras geométricas: triángulo, cuadrado, rectángulo y círculo. Una vez seleccionada la
opción, que llame al módulo que permita solicitar, leer los datos necesarios, hacer el cálculo
correspondiente e imprimirlo.
Debe ofrecer el siguiente menú de opciones, donde está solicitando la opción deseada:
3. Elaborar un algoritmo que permita leer dos números de tipo real en el módulo principal; que en un módulo
los intercambie vía parámetros por referencia, y los imprima en el módulo principal.
4. Elaborar un algoritmo que permita leer tres números de tipo entero; e imprima el mayor; utilizando un
módulo para leer los números, una función para obtener y devolver el mayor y un módulo para imprimir el
mayor. Utilizando parámetros.
5. Elaborar un algoritmo que permita leer la base y el exponente, que llame a una función que eleve el
número a la potencia, al regresar al módulo principal que imprima el resultado.
6. Elaborar un algoritmo que imprima la sumatoria de las raíces cuadradas de los números pares desde 2
hasta 1500. Utilizar un módulo o función para el cálculo de la sumatoria.
7. Elaborar un algoritmo que lea un número N, que imprima la sumatoria de los cuadrados de los enteros
entre 1 y N. Utilizar un módulo para el cálculo de la sumatoria vía parámetro por referencia.
8. Elaborar un algoritmo que lea diez valores para Y y X, calcule e imprima el valor de Z; utilizando la
función
Z = YX
Imprimir los diez valores para X, Y y Z.
9. Elaborar un algoritmo que permita leer un número de tipo entero de cinco cifras; calcular e
imprimir el dígito verificador. El dígito verificador es un número entre 0 y 9, que se obtiene a
partir de un número en el que se toma en cuenta la posición que tiene cada dígito; se obtiene
de la siguiente manera:
Si se tiene el número: 74621
11
Proceso 1 Se obtiene la suma de los productos: el primer número de la derecha multiplicado
por dos, el siguiente a la izquierda por tres, el siguiente por cuatro, y así
sucesivamente, hasta siete (el multiplicador vuelve a iniciar en 2, en caso de ser
necesario).
7 4 6 2 1
1X2= 2
2X3= 6
6 X 4 = 24
4 X 5 = 20
7 X 6 = 42
94
Proceso 2 Se determina el residuo al dividir el producto entre once.
94 11
6 8
Dígito verificador = 11 – 6 = 5
10. Simular una máquina expendedora de café. Crear un menú con las siguientes opciones:
****************************************
1. Seleccionar producto
2. Pagar y dar vuelto
3. Salir
***************************************
a. Café S/. 1.00
b. Café con leche S/. 1.50
c. Leche S/. 2.00
***************************************
Precio _ _ _ _ _ (debe aparecer precio de producto seleccionado)
Monto _ _ _ _ _ (monto que paga el cliente, verificar que no es menor que precio)
12
PRACTICA 6: Array (arreglos, listas o tablas): unidimensionales, bidimensionales
1. Programa que lea 20 números enteros, los almacene en un vector, y calcule la suma de todos ellos, así
como la media aritmética.
2. Un vector se dice que es simétrico si el elemento que ocupa la posición i_ésima coincide con el que
ocupa la posición n_i_ésima, siempre que el número de elementos que almacene el vector sea n. Por
ejemplo el vector que almacena los valores 2,4,5,4,2 es simétrico. Elaborar un programa y una función
que decida si el vector de n datos que recibe como parámetro es simétrico.
3. Escribir un programa que halle y escriba una tabla con los 10 primeros números primos. Un número es
primo si sólo tiene por divisores la unidad y el propio número.
4. Programa que genere aleatoriamente los datos de un vector, lo visualice, y calcule la media m, la
desviación media dm y la desviación típica dt, dados por las siguientes expresiones:
n 1
a i
m i 0
n
n 1
abs i m
dm i o
n
n 1
a i m
2
dt i o
n
5. Dados los nombres, promedio final de los alumnos de un curso de Ingeniería, elaborar un programa para
almacenar(ingresar) dichos datos y mostrar, presentar en un menú de opciones.
MENU
Seleccione Opción: __
MENU
2. Salir.
Seleccione Opción: __
13
PRACTICA 7: Ejercicios varios, Registros, archivos.
14
5. Un atleta utiliza un pulsómetro para sus entrenamientos. El pulsómetro almacena
las pulsaciones cada 15 segundos, durante un tiempo máximo de 2 horas.
Elaborar un programa para almacenar en un archivo los datos del pulsómetro del
atleta, de tal forma que el primer registro contenga la fecha, hora y tiempo en
minutos de entrenamiento, a continuación, los datos del pulsómetro por parejas:
tiempo, pulsaciones. Los datos deben ser leídos del teclado. Una vez escrito en el
archivo los datos, el programa debe visualizar el contenido completo del archivo.
6. Convertir un número a letras e incluir signo monetario, ejemplo S/. 1.237,50 (Un
mil doscientos treinta y siete con cincuenta / céntimos Nuevos Soles).
8. Elaborar un programa que permita leer un número de tipo entero de cinco cifras;
calcular e imprimir el dígito verificador. El dígito verificador es un número entre 0 y
9, que se obtiene a partir de un número en el que se toma en cuenta la posición
que tiene cada dígito; se obtiene de la siguiente manera:
Si se tiene el número: 74621
7 4 6 2 1
1X2= 2
2X3= 6
6 X 4 = 24
4 X 5 = 20
7 X 6 = 42
94
Proceso 2 Se determina el residuo al dividir el producto entre once.
94 11
6 8
15
Dígito verificador = 11 – 6 = 5
9. Simular una máquina expendedora de café. Crear un menú con las siguientes
opciones:
****************************************
4. Seleccionar producto
5. Pagar y dar vuelto
6. Salir
***************************************
a. Café S/. 1.00
b. Café con leche S/. 1.50
c. Leche S/. 2.00
***************************************
Precio _ _ _ _ _ (debe aparecer precio de producto seleccionado)
Monto _ _ _ _ _ (monto que paga el cliente, verificar que no es menor que precio)
10. Escribir un programa para calcular el número de días que hay entre dos fechas;
declarar fecha como una estructura.
12. Escribir un programa que gestione una agenda de direcciones. Los datos de la agenda
se almacenan en memoria en un array de estructuras, cada una de las cuales tiene los
siguientes campos: nombre, dirección, teléfono fijo, teléfono móvil, dirección de correo
electrónico. El programa debe permitir añadir una nueva entrada a la agenda, borrar
una entrada, buscar por nombre y eliminar una entrada determinada por el nombre.
13. Suponer que se tienen dos arrays del tipo descrito en el problema propuesto 12 ó 10.
Codificar un programa en C++ que los una en uno solo, eliminando los duplicados que
puedan existir entre los dos.
16
14. Suponer que se tiene un array que almacena la información de los empleados de una
empresa. De cada empleado se guarda el nombre, los dos apellidos, el número de la
Seguridad Social, la edad, el departamento en el que trabaja y la antigüedad en la
empresa. Escribir un programa en el que se ordene el array por el campo primer
apellido y en caso de que el primer apellido coincida por el segundo apellido. Si ambos
apellidos coinciden para algún registro, ordenar entonces por el nombre.
15. Utilizando el array del Problema anterior escribir un programa que permita a un
usuario por medio de un menú elegir uno de los campos para realizar una búsqueda
por dicho campo en el array de registros.
16. Escribir un programa auxiliar que permita añadir nuevos campos a la tabla de
empleados, como por ejemplo, sueldo anual y porcentaje de retenciones de
impuestos. Una vez modificado el array de estructuras, escribir un programa que
permita a un usuario elegir un rango de registros de empleados especificando un
apellido inicial y otro final, o un departamento concreto, y produzca en la salida la
suma total de los sueldos que se les pagan a los empleados seleccionados.
17. Escribir un programa que permita elaborar un informe a partir del array de estructuras
anterior con el siguiente formato. Cada página contendrá los empleados de un solo
departamento. Al comienzo de cada página se indica por medio de una cabecera cada
uno de los campos que se listan y al departamento que corresponde el listado. Los
campos aparecen justificados a la derecha en cada columna.
18. Escribir un programa que lea líneas de texto obtenga las palabras de cada línea y las
escriba en pantalla en orden alfabético. Se puede considerar que el máximo número
de palabras por línea es 28.
20. Escribir un programa que lea un texto, y dos palabras claves, clave1 y clave2. El
programa debe sustituir todas las apariciones de clave1 por clave2, mostrar el nuevo
texto, e indicar el número de intercambios realizados.
21. Otro sistema de encriptación consiste en sustituir cada carácter del alfabeto por otro
decidido de antemano, pero siempre el mismo. Utilizar este método en una función
que tome como parámetros el mensaje a cifrar y una cadena con las
correspondencias ordenadas de los caracteres alfabéticos. La función devolverá un
puntero a la cadena cifrada del mensaje.
22. Se trata de encriptar un texto mediante una función de cifrado. El cifrado se realiza se
realiza cambiando todas las letras minúsculas por otras nuevas letras que recibe en
un array cifrado de caracteres; es decir de cambiar “a” por cifrado0, “b” por
cifrrado1, etc. Escribir una función que reciba un texto y lo encripte.
23. Escribir una función que reciba el texto que retorna la función del problema anterior,
debidamente encriptado, y lo transforme en el texto original. El array de cifrado es un
dato.
17
24. Utilizando estructuras elaborar un programa para mostrar la fecha y hora actual del
sistema.
25. Una criptografía es un simple mensaje codificado donde una carta es simplemente
sustituida por otra, todo el mensaje.
Por ejemplo:
Codificado : HPC PJVYMIY
Decodificado : ACM CONCURSO
En el ejemplo de arriba, H=A, P=C, C=M, J=O, V=N, Y=T, M=E y I=S. Para este
problema, usted decodificará los mensajes.
Entrada
La primera línea de entrada contiene un solo entero N, (1 ≤ N ≤ 1000) que es el
número de conjuntos de datos que siguen. Cada conjunto de datos consta de dos
líneas de entrada. La primera línea es el mensaje codificado. La segunda línea es uno
de los 26 caracteres de letras en mayúscula dando el carácter cartografía para cada
letra del alfabeto: el primer carácter da la cartografía de A, la segunda de B y así
sucesivamente. Únicamente con letras mayúsculas será utilizado.
Salida
De cada conjunto de datos, usted debe generar una línea de producción con los
siguientes valores: el conjunto de datos número como un decimal entero (inicia el
escrutinio en uno), un espacio y el descifrado mensaje.
Ejemplo de Entrada
2
HPC PJVYMIY
BLMRGJIASOPZEFDCKWYHUNXQTV
Ejemplo de Salida
1 ACM CONTEST
2 THE SKY IS BLUE
18