Letras


Submit solution

Points: 100 (partial)
Time limit: 0.2s
Memory limit: 32M

Author:
Problem type
Allowed languages
C++, Python

Descripción

Un niño quiere encontrar una forma original de codificar su nombre y utiliza una figura formada únicamente por triángulos dibujados en una hoja de papel. Coloca cada letra de su nombre en un triángulo. Si se llama DARIO, la hoja de papel tendrá el aspecto de la figura 1. En la primera fila coloca la primera letra del triángulo. En la primera fila coloca la primera letra, en la segunda fila las tres letras siguientes, en la tercera fila las cinco letras siguientes, y así sucesivamente hasta que haya colocado todas las letras de su nombre. Si el nombre no tiene suficientes letras, el niño utiliza el carácter * para rellenar la última fila en la que ha colocado letras. No contento con que el nombre sea relativamente fácil de leer, da la vuelta al dibujo girando la hoja de papel en el sentido de las agujas del reloj para hacer la figura 2.

Tarea

Conociendo las letras del nombre, escribe un programa que lo determine y lo muestre en la salida:

  1. El número de caracteres * que necesita para completar la última línea;
  2. La primera letra de cada línea de la cifra inicial;
  3. La secuencia de letras de cada fila después de girar la hoja de papel.

Entrada

La entrada contiene en la primera línea un número natural P que representa el requisito en el problema a resolver, en la segunda línea un número natural N, que representa el número de letras en el nombre. En la tercera línea del fichero está el nombre del niño compuesto por N letras, mayúsculas del alfabeto inglés. Las letras están separadas entre sí por un espacio.

Salida

Si el valor de P es 1, la salida contendrá un número natural, que representa el número de caracteres * de la figura.

Si el valor de P es 2, la salida contendrá, en una sola línea, una cadena de letras, separadas por un espacio, formada por la primera letra de cada línea de la figura, antes de ser girada, desde la primera línea hasta la última.

Si el valor de P es 3, la salida contendrá las letras obtenidas después de rotar la figura original, mostradas en orden de arriba a abajo y dentro de una fila en orden de izquierda a derecha. Cada fila de letras se mostrará en la salida una línea y las letras de la misma fila estarán separadas por un espacio.

Restricciones

  • 1 ≤ N ≤ 10000

Subtareas

  • Se otorgan 10 puntos por resolver correctamente el requisito 1),
  • 30 puntos por resolver correctamente el requisito 2) y
  • 60 puntos por resolver correctamente el requisito 3).

Ejemplo #1 de Entrada

1 
6
D A R I U S

Ejemplo #1 de Salida

3

Explicación del Ejemplo #1

Para la grafía del nombre -Darius- hay que rellenar 3 filas formadas por 9 triángulos, 3 de los cuales contienen el carácter *.

Ejemplo #2 de Entrada

2 
6
D A R I U S

Ejemplo #2 de Salida

D A U

Explicación del Ejemplo #2

La primera letra de la primera fila es D , la primera letra de la segunda fila es A , la primera letra de la tercera fila es U.

Ejemplo #3 de Entrada

3
6
D A R I U S

Ejemplo #3 de Salida

U
S A
I R D

Explicación del Ejemplo #3

Después de la rotación, la primera fila tiene la letra U, la segunda fila tiene las letras S A, y la tercera fila, en orden de izquierda a derecha, tiene las letras I R D.


Comments

There are no comments at the moment.