2011-04-27 4 views
1

Je suis relativement nouveau dans Scheme et j'ai quelques problèmes avec les streams. Je sais seulement comment faire un flux de nombres naturels, rien de plus complexe. Je pensais qu'ils pourraient être utiles dans ce cas. Donc, au fond, j'ai cette matrice:Utilisation des flux pour trouver le meilleur moyen - Schéma

[0 0 0 0 0 S 0 0] [0 0 0 0 x 0 x 0] [0 0 0 0 x 0 0 x] [0 0 0 x 0 0 0 x] [0 0 0 x 0 0 0 x] [0 0 xx 0 0 0 0] [0 0 D 0 0 0 0 0]

où x = chemins accessibles S = source D = destination

Ce que je dois faire est de passer de S à D en voyageant seulement horizontalement, verticalement et diagonalement un carré à la fois sur les chemins accessibles. Jusqu'à présent, j'ai seulement créé une liste de positions qui contient la position de la source, les chemins accessibles et la position de la destination. Existe-t-il un moyen de choisir le chemin correct en utilisant des flux? Et si c'est trop complexe pour moi de comprendre, quelle autre méthode suggérez-vous?

Répondre

1

Je ne pense pas que les flux contribuent de manière significative à la compréhension de ce problème. Ce que vous avez est un problème de recherche - vous cherchez une séquence de mouvements dans un espace de possibilités. Je vous encourage à jeter un oeil à HtDP, section 28 pour un regard sur un problème très similaire.

+0

+1 Graphiques pour la victoire. :-) (Honteusement, j'ai raté une interview sur place de Google parce que je n'ai pas vérifié les graphiques.) –

Questions connexes