Haftungsausschluss: Mir sind keine Lösungen bekannt, die keine Bruteforce-Lösungen sind
Ein Graeco-Latin-Quadrat ist für zwei Sätze gleicher Länge eine Anordnung von Zellen, die jeweils ein eindeutiges (über das gesamte Quadrat verteiltes) Paar eines Elements des ersten Satzes und eines Elements des zweiten Satzes enthalten, z dass alle ersten Elemente und alle zweiten Elemente der Paare in ihrer Zeile und Spalte eindeutig sind. Die gebräuchlichsten Mengen sind, wie man ahnen könnte, die ersten Buchstaben des griechischen und des lateinischen Alphabets.
Hier ist ein Bild eines 4x4 Graeco-Latin Quadrats:
Graeco-Latin-Quadrate sind so nützlich wie sie klingen (der Wikipedia-Artikel erwähnt "Design von Experimenten, Turnierplanung und Konstruktion magischer Quadrate"). Ihre Aufgabe ist es, mit einer positiven ganzen Zahl ein Graeco-Latin-Quadrat zu generieren .
Eingang
Eine positive ganze Zahl ; Es ist garantiert, dass ein Graeco-Latin-Quadrat existiert (also ).
Ausgabe
Ein Graeco-Latin-Quadrat mit der Seitenlänge n als zweidimensionales Array, Array von Arrays, abgeflachtes Array oder direkt ausgegeben.
Anmerkungen
- Sie müssen das griechische und das lateinische Alphabet nicht speziell verwenden. Beispielsweise ist die Ausgabe von Paaren positiver Ganzzahlen ebenfalls zulässig.
- Wenn Sie ein Alphabet verwenden, das nicht willkürlich erweitert werden kann, müssen Sie (theoretisch: Ihr Code muss nicht vor dem Hitzetod des Universums fertig sein) eine maximale Seitenlänge von mindestens 20 unterstützen.
Das ist Code-Golf , also gewinnt der kürzeste Code!