Lsg.
Hallo,
ich halte das ganze weitgehend informal, scheint mir so verständlicher zu sein. Wenn man das verallgemeinerte n x n Schachbrett als
a(1,1) a(2,1) ... a(n,1)
a(1,2) a(2,2) ... a(n,2)
. . .
a(1,n) a(2,n) ... a(n,n)
darstellt mit a(i,j) aus {s,w} und a(i1,j1)=a(i2,j2) gdw. i1+j1 mod 2=i2+j2 mod 2 und die beiden Traversierungen
Links oben beginnend:
(1,1),(1,2),...,(1,n),
(2,n),(2,n-1),...,(2,1),
. . .
(n-1,1),(n-1,2),...,(n-1,n),
(n,n),(n,n-1),...,(n,1)
(1,1) ist der Startindex. (n,1) ist der Endindex.
und Links unten beginnend:
(1,n),(1,n-1),...,(1,1),
(2,1),(2,2),...,(2,n),
. . .
(n-1,n),(n-1,n-1),...,(n-1,1),
(n,1),(n,2),...,(n,n)
(1,n) ist der Startindex. (n,n) ist der Endindex.
betrachtet, werden alle Felder des Schachbretts besucht und abwechselnd schwarze und weisse Felder betreten. Ein „Weg“ von einem Index (i1,j1) zu (i2,j2) mit (i1,j1)h wird analog behandelt, g=h durch Drehen des Schachbretts um 90°), laesst sich die Traversierung in drei Teile splitten: Einem „Anfangsweg“ vom Startindex zum Vorgaenger von (g,h), einen „mittleren Weg“ vom Nachfolger von (g,h) zum Vorgaenger von (k,l) und letztlich einen „abschliessenden Weg“ vom Nachfolger von (k,l) zum Endindex. Der mittlere Weg hat immer gerade Laenge. Beim Anfangs- und abschliessenden Weg haengt dies von der Traversierung ab. Es gilt aber, dass in genau einer der beiden Traversierungen beide Weglaengen gerade sind. Genau diese Traversierung ziehen wir heran um die n^2-2 validen Felder mit Dominosteinen zu ueberdecken. Das funktioniert praechtig, bis auf den Fall, dass der Startindex invalide, also der Anfangsweg leer resp. die leere Folge ist. Hier beginnen wir die Traversierung beim Nachfolger des Startindex und verfahren analog.
Gruss
Enno