Un puzzle intéressant m'est venu en regardant les boutons de l'ascenseur ce matin.
Vous devez générer une liste de tous les modèles braille qui tiennent dans une grille 2x3. Utilisez un hachage #
pour désigner une bosse et un trait -
d' union pour désigner une zone plate.
Échantillon de sortie attendu:
#-
--
--
##
--
--
#-
#-
--
(and so on...)
Règles:
- Votre programme doit séparer chaque motif par au moins un caractère ou une ligne.
- Les modèles peuvent être générés dans n'importe quel ordre.
- Tous les modèles, indépendamment de ce que l'alphabet braille utilise réellement, doivent être produits. Le motif complètement vierge est facultatif.
- Seuls les modèles de relief uniques doivent être générés. Les motifs suivants sont considérés comme équivalents car les bosses sont dans un arrangement identique. Dans ces cas, utilisez le motif le plus proche du coin supérieur gauche (c'est-à-dire la première option de cet exemple).
#- -# -- --
#- -# #- -#
-- -- #- -#
Points bonus si vous pouvez le faire fonctionner pour n'importe quelle grille de taille x par y . ( EDIT: dans des limites raisonnables. Jusqu'à 4x4 est suffisant pour la preuve de concept.)
En lisant l'article du wiki, il semble qu'il y ait 45 modèles (y compris le blanc) qui répondent aux règles de ce puzzle.
x
x,y
vous générez les premiers2^(xy)
nombres et filtrez ceux qui masquent à 0 contre2^x - 1
ou(2^(xy+1) - 1)/(2^y - 1)
.