MazeSolver boolean

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

MazeSolver boolean
Ich bin ein bisschen verwirrt, wie Durchgänge und Wände codiert sind.
In der Einleitung heißt es, Wände sind f a l s e.
Stehen in dem filled array Sackgassen dann auch als false oder als true?


Korrekt.

/** Solves the maze by eliminating dead ends
 * @params maze The maze to be solved
 * @return A boolean-Array where all dead ends ==> are marked as true <==
 */
public static boolean[][] solveMazeFillDeadEnds(boolean[][][] maze) {

Wie du das [m]filled[/m]-Array in der Hilfsmethode verwendest bleibt dir überlassen, es macht aber wenig Sinn, hier von der Konvention, die der Aufrufer erwartet, abzuweichen.


Hi, allgemeine Frage:

Darf man am Array Maze schrauben(in Aufgabe b) WENN:

  • Die groesse des Labyrinths erhalten bleibt
  • Wenn der Weg vom Eingang zum Ausgang der gleich ist wie im in der iterativen Loesung(wo in maze nichts veraendert wurde)
  • Wenn keine Wand verschwindet!
  • Wenn alle Felder die als false markiert sein sollen bzw. als true dementsprechend markiert sind.

Ich glaube naemlich eine Loesung zu wissen wo ich da was machen muss. Und in der Aufgabenstellung steht nicht, dass man es nicht koennte.
Aber es kann ja sein, dass beim Korrigieren ein fuer jedes zufaellige Labyrinth ein ganz bestimmtes Array erwartet wird. Und das wuerde bedeuten,
dass selbst wenn bei mir der richtige Weg angemalt waere die Loesung als falsch angesehen werden koennte.

Ich kann leider nicht sagen was ich genau aendern will.


Prinzipiell kannst du meinetwegen das Eingabearray beliebig kaputtmachen. Die Lösung muss aber natürlich genau das Labyrinth lösen, das übergeben wurde.

Nötig ist es aber auf jeden Fall nicht, und wenn ich richtig geraten habe warum du das tun willst, dann solltest du dir noch mal die vorgegebenen Parameter der Hilfsmethode anschauen, vielleicht fällt dir dann ein anderer Weg ein, das selbe zu erreichen :wink: