Einzelnen Beitrag anzeigen

Blackwolf96

Registriert seit: 13. Jul 2014
4 Beiträge
 
#1

8 Damen Problem

  Alt 13. Jul 2014, 16:35
Moin,

Ich soll das 8 Damen Problem lösen.

Ich komme aber beim Backtracking Part nicht weiter.
Das ist was ich bis jetzt habe:
Delphi-Quellcode:
procedure backtrack;
var x,y : integer;
    found: Boolean;
begin
  posi[LastQX,LastQY] := 0;
  found := False;
  AnzahlKoenigen := 0;
  for y := 0 to Kaestchen-1 do
    for x := 0 to Kaestchen-1 do
      if posi[x,y] = 1 then AnzahlKoenigen := AnzahlKoenigen+1; // Schaue wie viele Damen auf den Feld sind.

  for y := 0 to Kaestchen-LastQY do begin
    for x := 0 to Kaestchen do
      If (isValid(x,LastQY+y)) and (LastQX <> x) then begin // Schau ob es eine Valide Postition ist und nicht
        posi[x,LastQY+y] := 1; // die selbe wie vorher.
        found := True;
        AnzahlKoenigen := AnzahlKoenigen+1;
        break;
      end;
     if found then break;
  end;
  if found = false then begin //Wenn keine neue position gefunden werden kann suche
    for y := Kaestchen downto 0 do // die nächste Dame und speichere die Position.
      for x := 0 to Kaestchen do
        if posi[x,y] = 1 then begin
          LastQX := x;
          LastQY := y;
          break;
        end;
  end;
end;
Ich hoffe ihr könnt wir helfen.
MfG,
Blacky
  Mit Zitat antworten Zitat