|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 17
|
Un cavallo in una scacchiera
Salve a tutti! Voglio creare un programma che calcola le mosse che deve fare un cavallo in una scacchiera (libera) per coprire tutte le caselle senza mai passare due volte sulla stessa... So usare (ehm... sono agli inizi, però!) c, c++ e python... Mi dareste le linee guida per realizzarlo? Ho analizzato il movimento in base agli assi x e y... Stavo pensando di salvare le caselle già "calpestate" in un array, ma boh... Non ho avuto idee che mi convincano, finora! Qualcuno mi sa dare un suggerimento?
|
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
è un problema che può essere risolto in maniera banale (cioè algoritmo cagoso non ottimizzato) tramite backtracking: ogni volta che non hai più mosse torni indietro sui tuoi passi finché non trovi un altro percorso e continui da lì. trattandosi di backtracking io tanto per cominciare mi organizzerei con uno stack (anziché un array).
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 17
|
Ehm... Cos'è il backtracking? Cioè, cos'è posso immaginarlo dal nome, ma materialmente parlando? Poi per l'ottimizzazione vedo dopo...
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2007
Messaggi: 263
|
É come dire: entrare in un labirinto e svoltare sempre a destra...
se entro in un vicolo cieco torno indietro e vado a sinistra... e cosí via.... |
![]() |
![]() |
![]() |
#5 | |
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
Quote:
Un'altra idea magari sarebbe usare gli algoritmi basati sugli animali come le formiche...abbiamo trattato l'argomento all'ultima lezione di intelligenza artificiale. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:02.