Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

ODI14F04 - Números, Simetría y Palíndromos

Trabajas como programador en una empresa que se dedica a la fabricación de productos ODI (Optical Digit Identification, por sus siglas en inglés). Como no te gustan las letras, te han asignado trabajar exclusivamente con números.

 

El producto ODI de tu compañía trabaja de la siguiente manera:

 

1) El producto le toma una foto a un número.

2) Este luego produce una representación ODI del número.

3) Toma la representación ODI y se la envía al Software que estás escribiendo.

4) El Software luego responde a preguntas de varios tipos sobre el número en representación ODI que acaba de responder.

 

La representación ODI de cada dígito del 0 al 9 se basa en un arreglo de caracteres de 5x5 que contiene exclusivamente los caracteres '.' y '@' (sin las comillas simples). La representación ODI de un número (que te aseguraron iba a tener no más de 3 dígitos) es entonces una concatenación de los arreglos de las representaciones ODI de los dígitos que lo componen.

 

Por ejemplo, acá las representaciones ODI de cada dígito:

 

Dígito

Representación ODI

0

.@@@@

.@..@

.@..@

.@..@

.@@@@

1

....@

....@

....@

....@

....@

2

.@@@@

....@

.@@@@

.@...

.@@@@

3



.@@@@

....@

.@@@@

....@

.@@@@

4

.@..@

.@..@

.@@@@

....@

....@

5

.@@@@

.@...

.@@@@

....@

.@@@@

6

.@@@@

.@...

.@@@@

.@..@

.@@@@

7

.@@@@

....@

....@

....@

....@

8

.@@@@

.@..@

.@@@@

.@..@

.@@@@

9

.@@@@

.@..@

.@@@@

....@

.@@@@

 

Por ejemplo, si el producto le toma una foto al número 36, este le enviaría a tu programa el siguiente texto:



.@@@@.@@@@

....@.@...

.@@@@.@@@@

....@.@..@

.@@@@.@@@@

 

Una vez con el texto ODI de un número, tu programa debe responder preguntas de varios tipos:

 

1) Responder si el texto recibido contiene simetría horizontal. Esto es, si rotas el texto 180 grados por el eje OX, ¿sigue siendo el mismo texto?

 

2) Responder si el texto recibido representa realmente a un número (como el producto está todavía en una etapa experimental, es posible que haya cometido errores).

 

3) Convertir el texto recibido a número e imprimirlo. Si esta pregunta se hace, es porque ya se sabe que el texto representa a un número válido.

 

4) Es una mezcla de las preguntas anteriores. Responder si el texto contiene simetría horizontal, y, si este texto representa a un número válido, imprimirlo; de lo contrario, imprimir que es inválido.

 

5) Responder si el número representado es un palíndromo (esto es, se lee igual ya sea de izquierda-derecha o de derecha-izquierda). Si esta pregunta se hace, es porque ya se sabe que el texto representa a un número válido.

 

Escribe un programa que reciba un texto ODI de acuerdo a lo descrito arriba y responda a las preguntas de lugar.

 

Entrada

 

La primera línea de entrada contiene a un número T, que representa el número de casos de prueba a procesar. Luego siguen T casos de prueba.

 

Por cada caso de prueba, se garantiza que:

  • En la primera línea se encontrará un entero P (1 ≤ P ≤ 5), el tipo de pregunta a responder.

  • Luego siguen 5 líneas. Todas las líneas tendrán 5, 10 o 15 caracteres '.' o '@'. Todas las líneas tendrán el mismo número de caracteres.

 

Salida

Por cada caso de prueba:

 

  • Una línea con la respuesta a la pregunta recibida.

 

Utiliza la siguiente tabla como referencia:

 

Tipo de pregunta

Respuesta

1

"SIMETRICO" (sin las comillas) si el texto contiene simetría horizontal, o "NO ES SIMETRICO" (sin las comillas) de lo contrario.

2

"NUMERO" (sin las comillas), si el texto representa un número válido o "NO ES UN NUMERO" (sin las comillas) de lo contrario.

3

El número en base 10 correspondiente.

4

La línea debe de iniciar con "SIMETRICO" (sin las comillas) si el texto contiene simetría horizontal o "NO ES SIMETRICO" (sin las comillas) de lo contrario.


Luego debe hacer un espacio en blanco, luego el texto "y" y luego otro espacio en blanco.


Si el texto representa a un número válido, debes imprimir el número en base 10 correspondiente, o "NO ES UN NUMERO" (sin las comillas) de lo contrario.

5

"PALINDROMO" (sin las comillas) si el número es un palíndromo, de lo contrario "NO ES PALINDROMO" (sin las comillas).

 

Ejemplos

 

Ejemplo #1



Entrada

5

2

....@.@@@@.@@@@

....@....@.@...

......@@@@.@@@@

....@....@....@

....@.@@@@.@@@@

5

.@@@@.@@@@

....@.@...

.@@@@.@@@@

....@.@..@

.@@@@.@@@@

1

....@.@@@@

....@.@...

....@.@@@@

....@.@..@

....@.@@@@

4

....@....@.@@@@

....@....@....@

....@....@....@

....@....@....@

....@....@....@

4

....@....@

....@....@

....@....@

....@....@

....@....@

Salida

NO ES UN NUMERO

NO ES PALINDROMO

NO ES SIMETRICO

NO ES SIMETRICO y 117

SIMETRICO y 11

 

Nota:

 

En este ejemplo, hay 5 casos de prueba:

 

  1. El primer caso de prueba pregunta si el texto es o no un número. En este caso la respuesta es que no es un número, puesto que hay un error en la representación de su primer dígito (1).

  2. El segundo caso de prueba pregunta si 36 es un palíndromo. Claramente no lo es porque no se lee igual de izquierda-derecha que de derecha-izquierda.

  3. El tercer caso pregunta si el texto contiene simetría horizontal. Haz la prueba, no la contiene.

  4. El cuarto caso pregunta si el texto contiene simetría horizontal y si este representa un número válido.

  5. El quinto caso pregunta lo mismo que el cuarto.

Adicionado por:kojak_
Fecha:2014-05-24
Tiempo límite:1s
Límite del código fuente:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Lenguajes:C CSHARP C++ 4.3.2 CPP PAS-GPC PAS-FPC PYTHON PYTHON3

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.