Le roi de la Rome antique a du mal à déterminer si un carré magique est valide ou non, car le carré magique qu'il vérifie ne comprend aucun séparateur entre les nombres. Il a engagé un ingénieur logiciel pour l'aider à déterminer si un carré magique est valide ou non.
Description de l'entrée
L'entrée vient sur les arguments STDIN ou de ligne de commande. Vous ne pouvez pas avoir l'entrée pré-initialisée dans une variable (par exemple "ce programme attend l'entrée dans une variable x
"). L'entrée est au format suivant:
<top>,<middle>,<bottom>
Chacun de <top>
, <middle>
et <bottom>
est une chaîne qui contiendra seulement jamais les caractères majuscules I
, V
et X
. Il ne contiendra aucun espace ni aucun autre caractère. Chaque chaîne représente trois chiffres romains, résultant ainsi en une matrice de nombres 3x3. Cependant, ces chiffres romains peuvent (mais pas nécessairement) être ambigus . Permettez-moi d'illustrer cela avec un exemple. Prenons l'exemple de la ligne suivante de trois chiffres romains, sans espace entre chaque numéro:
IVIIIIX
Parce qu'il n'y a pas d'espaces entre les lettres, il y a deux possibilités pour les nombres ici:
- 1, 8, 9 (
I VIII IX
) - 4, 3, 9 (
IV III IX
)
Lorsque vous considérez que les trois lignes de la matrice peuvent être ambigües, il existe un potentiel pour qu'il existe de nombreuses matrices 3x3 différentes à partir d'une seule entrée.
Notez que les séquences telles que 1, 7, 1, 9 ( I VII I IX
) ne sont pas possibles car chaque ligne représentera toujours trois chiffres romains. Notez également que les chiffres romains doivent être valides, donc des séquences telles que 1, 7, 8 (I VII IIX
) ne sont également pas possibles.
Description de sortie
Production:
- Un entier
A
, oùA
est le nombre de matrices 3x3 uniques qui peuvent être formées à partir de l'entrée ambigüe, et: - Une valeur vraie si l' une des matrices 3x3 uniques forme un carré magique, ou:
- Une valeur fausse si aucune des matrices 3x3 uniques ne forme un carré magique.
Les valeurs véridiques et fausses doivent être cohérentes. Ils sont séparés par une virgule.
Une explication est requise sur ce qui est considéré comme unique. Tant qu'une matrice n'a pas exactement les mêmes nombres exactement aux mêmes positions qu'une matrice trouvée précédemment, elle est considérée comme unique. Cela signifie que les réflexions, etc. des matrices trouvées précédemment sont considérées comme uniques.
Exemples d'entrées et de sorties
Dans ces exemples, j'utilise true
comme valeur vraie et false
comme valeur fausse.
Entrée: VIIIIVI,IIIVVII,IVIXII
Sortie: 24,true
(Le triangle magique est 8-1-6, 3-5-7, 4-9-2.)
Entrée: IIIXVIII,IVIII,VIIII
Sortie:210,false
Suppléments
- Vous n'êtes pas autorisé à utiliser des fonctions de conversion de chiffres romains intégrées si votre langue choisie en possède une.