Wolfram Language

Graphes et réseaux

Le problème du cavalier

La version 11 ajoute la fonction FindHamiltonianPath, élargissant les capacités à trouver des chemins, des cycles et des tours. Trouvez un problème de cavalier dans lequel un cavalier ne se déplace qu'une seule fois dans chaque case d'un échiquier.

Afficher l'entrée complète de Wolfram Language
In[1]:=
Click for copyable input
(* draw a checker board *) checkerboard = ArrayPlot[Table[Mod[j + i, 2], {i, 8}, {j, 8}], ColorRules -> {1 -> RGBColor[0, .55, .77], 0 -> RGBColor[.67, .9, .99]}, Frame -> False, DataRange -> {{1, 8}, {1, 8}}]; (* compute knight's tour *) g = KnightTourGraph[8, 8]; tour = FindHamiltonianPath[g]; (* show the tour *) Manipulate[ Show[{checkerboard, HighlightGraph[g, PathGraph[tour[[;; i]]], PlotTheme -> "Marketing", GraphHighlightStyle -> "DehighlightHide", EdgeStyle -> Thickness[.01]]}], {i, 1, Length[tour], 1}, SaveDefinitions -> True]
Out[1]=
Jouer l'animation
Arrêter l'annimation

Exemples connexes

de en es ja ko pt-br ru zh