Mir ist heute Morgen ein interessantes Rätsel aufgefallen, als ich auf die Aufzugsknöpfe sah.
Sie müssen eine Liste aller Braillemuster erstellen, die in ein 2x3-Raster passen. Verwenden Sie einen Hash#
, um eine Erhebung zu kennzeichnen, und einen Bindestrich -
, um eine flache Fläche zu kennzeichnen.
Erwartete Ausgabebeispiele:
#-
--
--
##
--
--
#-
#-
--
(and so on...)
Regeln:
- Ihr Programm muss jedes Muster durch mindestens ein Zeichen oder eine Zeile trennen.
- Die Muster können in beliebiger Reihenfolge erzeugt werden.
- Es sollten alle Muster erstellt werden, unabhängig davon, was das Braille-Alphabet tatsächlich verwendet. Das vollständig leere Muster ist optional.
- Es sollten nur eindeutige Reliefmuster generiert werden. Die folgenden Muster werden als gleichwertig angesehen, da sich die Unebenheiten in einer identischen Anordnung befinden. Verwenden Sie in diesen Fällen das Muster, das der linken oberen Ecke am nächsten liegt (dh die erste Option in diesem Beispiel).
#- -# -- --
#- -# #- -#
-- -- #- -#
Bonuspunkte , wenn Sie können es für jeden funktioniert x von y Größe Raster. ( BEARBEITEN: Innerhalb angemessener Grenzen. Bis zu 4x4 reicht für den Proof of Concept.)
Beim Lesen des Wiki-Artikels scheint es 45 Muster zu geben (einschließlich des Leerzeichens), die den Regeln dieses Puzzles entsprechen.
x
x-y
Gitter generieren Sie die ersten2^(xy)
Zahlen und filtern diejenigen heraus, die gegen2^x - 1
oder auf 0 maskieren(2^(xy+1) - 1)/(2^y - 1)
.