El rey de la Antigua Roma está teniendo dificultades para determinar si un cuadrado mágico es válido o no, porque el cuadrado mágico que está revisando no incluye ningún separador entre los números. Ha contratado a un ingeniero de software para que lo ayude a determinar si un cuadrado mágico es válido o no.
Descripción de entrada
La entrada entra en STDIN o argumentos de línea de comando No puede tener la entrada preinicializada en una variable (por ejemplo, "este programa espera la entrada en una variable x
"). La entrada tiene el siguiente formato:
<top>,<middle>,<bottom>
Cada uno de <top>
, <middle>
y <bottom>
es una cadena que sólo alguna vez contendrá los caracteres en mayúscula I
, V
y X
. No contendrá espacios ni ningún otro carácter. Cada cadena representa tres números romanos, lo que resulta en una matriz de números 3x3. Sin embargo, estos números romanos pueden (pero no necesariamente) ser ambiguos . Permítanme ilustrar esto con un ejemplo. Considere la siguiente fila de ejemplo de tres números romanos, sin espacios entre cada número:
IVIIIIX
Debido a que no hay espacios entre las letras, hay dos posibilidades para los números aquí:
- 1, 8, 9 (
I VIII IX
) - 4, 3, 9 (
IV III IX
)
Cuando considera que las tres filas de la matriz pueden ser ambiguas, existe la posibilidad de que haya muchas matrices 3x3 diferentes a partir de una sola entrada.
Tenga en cuenta que secuencias como 1, 7, 1, 9 ( I VII I IX
) no son posibles porque cada fila siempre representará tres números romanos. También tenga en cuenta que los números romanos deben ser válidos, por lo que las secuencias como 1, 7, 8 ( I VII IIX
) tampoco son posibles.
Descripción de salida
Salida:
- Un número entero
A
, dondeA
es el número de matrices 3x3 únicas que se pueden formar a partir de la entrada ambigua, y: - Un valor verdadero si alguna de las matrices únicas de 3x3 forma un cuadrado mágico, o:
- Un valor falso si ninguna de las matrices únicas de 3x3 forma un cuadrado mágico.
Los valores de verdad y falsedad deben ser consistentes. Están separados por una coma.
Se requiere alguna explicación sobre lo que se cuenta como único. Mientras una matriz no tenga exactamente los mismos números en exactamente las mismas posiciones que una matriz encontrada previamente, se cuenta como única. Esto significa que las reflexiones, etc. de las matrices encontradas previamente se cuentan como únicas.
Ejemplo de entradas y salidas
En estos ejemplos, uso true
como mi valor verdadero y false
como mi valor falso.
Entrada: VIIIIVI,IIIVVII,IVIXII
Salida: 24,true
(El triángulo mágico es 8-1-6, 3-5-7, 4-9-2.)
Entrada: IIIXVIII,IVIII,VIIII
Salida:210,false
Extras
- No está permitido usar funciones de conversión de números romanos incorporadas si el idioma elegido tiene una.