Der König des alten Roms hat Schwierigkeiten festzustellen, ob ein magisches Quadrat gültig ist oder nicht, da das magische Quadrat, das er überprüft, keine Trennzeichen zwischen den Zahlen enthält. Er hat einen Softwareentwickler beauftragt, um festzustellen, ob ein magisches Quadrat gültig ist oder nicht.
Eingabebeschreibung
Die Eingabe erfolgt über STDIN- oder Befehlszeilenargumente. Sie können die Eingabe nicht in einer Variablen vorinitialisieren lassen (z. B. "Dieses Programm erwartet die Eingabe in einer Variablen x
"). Die Eingabe erfolgt im folgenden Format:
<top>,<middle>,<bottom>
Jede <top>
, <middle>
und <bottom>
ist ein String, wird immer nur die Großbuchstaben enthalten I
, V
und X
. Es enthält keine Leerzeichen oder andere Zeichen. Jede Zeichenfolge repräsentiert drei römische Ziffern, was zu einer 3x3-Zahlenmatrix führt. Diese römischen Ziffern können jedoch (aber nicht unbedingt) mehrdeutig sein . Lassen Sie mich dies anhand eines Beispiels veranschaulichen. Betrachten Sie die folgende Beispielzeile mit drei römischen Ziffern ohne Leerzeichen zwischen den einzelnen Ziffern:
IVIIIIX
Da zwischen den Buchstaben keine Leerzeichen stehen, gibt es hier zwei Möglichkeiten für die Zahlen:
- 1, 8, 9 (
I VIII IX
) - 4, 3, 9 (
IV III IX
)
Wenn Sie bedenken, dass alle drei Zeilen der Matrix mehrdeutig sein können, besteht die Möglichkeit, dass eine einzelne Eingabe viele verschiedene 3x3-Matrizen enthält.
Beachten Sie, dass Sequenzen wie 1, 7, 1, 9 ( I VII I IX
) nicht möglich sind, da jede Zeile immer drei römische Ziffern darstellt. Beachten Sie auch, dass die römischen Ziffern gültig sein müssen, sodass auch Sequenzen wie 1, 7, 8 ( I VII IIX
) nicht möglich sind.
Beschreibung der Ausgabe
Ausgabe:
- Eine Ganzzahl
A
, wobeiA
die Anzahl der eindeutigen 3x3-Matrizen ist, die aus der mehrdeutigen Eingabe gebildet werden können, und: - Ein wahrer Wert, wenn eine der einzigartigen 3x3-Matrizen ein magisches Quadrat bildet, oder:
- Ein falscher Wert, wenn keine der eindeutigen 3x3-Matrizen ein magisches Quadrat bildet.
Die Wahrheits- und Falschwerte müssen konsistent sein. Sie werden durch ein Komma getrennt.
Es ist eine Erklärung erforderlich, was als eindeutig gezählt wird. Solange eine Matrix nicht genau die gleichen Zahlen an genau den gleichen Positionen wie eine zuvor gefundene Matrix hat, wird sie als eindeutig gezählt. Dies bedeutet, dass Reflexionen usw. von zuvor gefundenen Matrizen als eindeutig gezählt werden.
Beispiel für Ein- und Ausgänge
In diesen Beispielen verwende ich true
als meinen Wahrheitswert und false
als meinen Falschwert.
Eingabe: VIIIIVI,IIIVVII,IVIXII
Ausgabe: 24,true
(Das magische Dreieck ist 8-1-6, 3-5-7, 4-9-2.)
Eingabe: IIIXVIII,IVIII,VIIII
Ausgabe:210,false
Extras
- Sie dürfen keine integrierten Konvertierungsfunktionen für römische Zahlen verwenden, wenn Ihre ausgewählte Sprache eine hat.