12.01.2014 Aufrufe

2-up - ETH Zürich

2-up - ETH Zürich

2-up - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Das n-Damen-Problem<br />

• Keine der n „Damen“ auf dem n×n<br />

Schachbrett darf eine andere bedrohen<br />

• d.h. keine zwei Damen stehen in der<br />

selben Zeile, Spalte, Diagonale<br />

• Wie viele Lösungen gibt es für n=8?<br />

x<br />

377<br />

Repräsentation der Spielsituation<br />

dia1[10]<br />

dia2[5]<br />

• Darstellung der Spielsituation durch<br />

ein (globales) int-Array dame[0..n]:<br />

x<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

Spalte x<br />

dame[x]<br />

1<br />

5<br />

8<br />

6<br />

3<br />

7<br />

2<br />

4<br />

y-Koordinate<br />

x<br />

Man braucht also gar kein (aufwendiges)<br />

2-dimensionales Array für den Spielzustand!<br />

• Zweckmässig sind ferner 3 (globale!)<br />

boolean-Arrays als „abgeleitete<br />

Grössen“ aus der Spielsituation:<br />

• zeile[y] == true: Zeile y ist bedroht<br />

• dia1[k] == true: Ha<strong>up</strong>tdiagonale<br />

mit x+y=k ist bedroht (k=2,…,16)<br />

• dia2[k] == true: Nebendiagonale<br />

mit x-y+7=k ist bedroht (k=0,…,14)<br />

379<br />

160

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!