Compte tenu d'une WxH
grille, combien y a-t-il de labyrinthes possibles?
Ce que vous savez sur le labyrinthe:
- La grille a exactement des
H
carrés de haut et desW
carrés de large. - Il existe trois types de carrés: Début, Fin et Vide. Votre labyrinthe doit contenir exactement 1 début et 1 fin, et tous les carrés restants sont vides.
- Il y a des murs qui entourent tout le labyrinthe.
- Les murs peuvent exister sur le bord entre deux carrés quelconques, sauf s'il enfreint la règle ci-dessous:
- Il doit exister un chemin entre le carré de départ et le carré d'arrivée.
Par conséquent, étant donné deux nombres, W
et H
, vous devez renvoyer un seul nombre représentant le nombre de configurations carré / mur possibles. Vous avez la garantie queW*H > 1
Par exemple, le 2x2
labyrinthe a exactement 100
différentes configurations possibles.
Ceci est un code-golf, donc la réponse la plus courte l'emporte!
code-golf
maze
code-golf
string
whitespace
code-golf
arithmetic
code-golf
pyth
code-golf
game
code-golf
string
code-challenge
code-challenge
ascii-art
compression
king-of-the-hill
c
c++
java
code-challenge
math
optimization
code-challenge
math
code-golf
kolmogorov-complexity
code-golf
string
Nathan Merrill
la source
la source
Réponses:
Python 2,
329310 octetsCeci est la version golfée (et beaucoup plus inefficace) du programme que j'utilisais en discutant du problème avec @Nathan. Je peux enregistrer quelques octets en remplaçant certains retraits d'espace par des tabulations, mais je le garderai pour plus tard.
L'algorithme consiste simplement à générer chaque labyrinthe, puis à remplir le remplissage dès le début, pour voir si nous passons l'arrivée à un moment donné ou non.
la source