Hi!
Ich hab mich wiedermal an ein Beispiel getraut. Ich zerbreche jedoch ziemlich daran.
Wie es der Titel verrät soll ein C Programm erstellt werden das den minimalen Weg von einem beliebigen Feld eines Schachbrettes(8x8) zu einem beliebigen Zielfeld berechnet, sprich die Anzahl der benötigten Sprünge.
Mein Lösungsansatz bis jetzt:
Felder teile ich in x und y Koordinaten
(1,1) ist ganz links unten, (8,8) ganz rechts oben.
Ein Springer bedroht bis zu 8 umliegende Felder.
Also je Feld habe ich dann 8 Möglichkeiten um weiterzuspringen.
Ich dachte zunächst an Backtracking wie zb. auch bei dem n-Damen Problem verfahren wird.
Doch irgendwie find ich nicht die richtige Brücke zu meinem Problem.
Das einfachste Verfahren das natürlich gleichzeitig ineffizient ist, wäre alle Möglichkeiten auszuprobiern und die Sprünge mitzählen, daraus könnte man die minimalste Sprunganzahl zum Weg herrausfinden. Damit würd ich mich auch voll und ganz zufrieden geben. Ich hab jedoch keine Idee wie ich das Formulieren soll. :/
Ich bin für jeden Denkansatz dankbar !
Mfg
Nico
Ich hab mich wiedermal an ein Beispiel getraut. Ich zerbreche jedoch ziemlich daran.
Wie es der Titel verrät soll ein C Programm erstellt werden das den minimalen Weg von einem beliebigen Feld eines Schachbrettes(8x8) zu einem beliebigen Zielfeld berechnet, sprich die Anzahl der benötigten Sprünge.
Mein Lösungsansatz bis jetzt:
Felder teile ich in x und y Koordinaten
(1,1) ist ganz links unten, (8,8) ganz rechts oben.
Ein Springer bedroht bis zu 8 umliegende Felder.
Also je Feld habe ich dann 8 Möglichkeiten um weiterzuspringen.
Ich dachte zunächst an Backtracking wie zb. auch bei dem n-Damen Problem verfahren wird.
Doch irgendwie find ich nicht die richtige Brücke zu meinem Problem.
Das einfachste Verfahren das natürlich gleichzeitig ineffizient ist, wäre alle Möglichkeiten auszuprobiern und die Sprünge mitzählen, daraus könnte man die minimalste Sprunganzahl zum Weg herrausfinden. Damit würd ich mich auch voll und ganz zufrieden geben. Ich hab jedoch keine Idee wie ich das Formulieren soll. :/
Ich bin für jeden Denkansatz dankbar !
Mfg
Nico