Liebe inforz-Radaktion,
zuallererst: Glückwunsch zu eurer immer wieder hochinteressanten
inforz und weiter so!
Ich hatte schon am 25.Juni fast aufgegen die Lösung für das
Rätsel-Labyrinth zu finden, jetzt schicke ich euch mit schöner
Erinnerung an einige schlaflose, rätselfrohe Nächte meine Lösung.
(Einen Graphen und einen Stapel Gekritzel vom Anfänger, ein
C-Programm, dass einem alle Lösungen ausspuckt und jede Menge
Gekritzeltes.)
Liebe Grüße
Thomas Niedling
---
Mein Lösungsvorschlag:
Vorneweg:
Die 25 Felder wie folgt durchnummerieren um ihnen Namen zu verpassen
und Lösungen ausgeben lassen zu können:
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
^
|
Der Anfänger
------------
...erstellt - mit der Methode zeichne für jedes Feld einen Knoten und
gehe alle Felder durch und zeichne zu den Knoten der erreichbaren
(anderen) Felder jeweils eine Kante - einen vollständigen Graphen für
das Problem. (anlage 1)
Mit der Suchtechnik der Rückwärtstraversierung von Knoten 12 aus (die
Null in der Mitte) erhält man dann - abgesehen von Schlingen - die 28
Wege aus anlage2. (Die Skizzierung der Rückwärtstraversierung unter
Gekritzeltes unten.)
Der Fortgeschrittene
--------------------
...bediend sich dem Code des Anfängers, der zu faul war seine ganzen
Papiere abzutippen (labyr1.c und labyr1.exe), dafür aber alle
Schlingen, die möglich sind bei der Traversierung, mit ausgibt und
modifiziert den Code.
Der boolean besucht muss nun abgeschafft werden, weil Schlingen
zugelassen sein müssen. Gibt es keine positiven Schlingen mehr um
negative noch 0 bringen zu können oder umgekehrt, so kann auch hier
abgebrochen werden. Boolean: neg_zyklus. (labyr2.c)
---
Gekritzeltes:
Suchtechnik: Rückwärtstraversierung
12
6-9-7-12
(6-9-7)#-12
18-16-(6-9-7)#-12
(18-16)#-(6-9-7)#-12
15-(18-16)#-(6-9-7)#-12
(0-10-15)#-(18-16)#-(6-9-7)#-12 oder
19-15-(0-10-15)*-(18-16)#-(6-9-7)#-12
Verfolgen wir zuerst nur die 1.Alternative:
1.)
20-(0-10-15)#-(18-16)#-(6-9-7)#-12
23-20-(0-10-15)#-(18-16)#-(6-9-7)#-12 oder
5-20-(0-10-15)#-(18-16)#-(6-9-7)#-12
Davon wiederum die 1. liefert die Wege:
1.1)
a) 22-(17-2-22)*-(21)*-23-20-(0-10-15)#-(18-16)#-(6-9-7)#-12
b) ...
(nach etwa 4 Stunden ist man bei Unterfall 45b)
(x)* : x ist die Wiederholung, die man auch weglassen darf
(x)# : muss mindestens 1mal traversiert werden, darf aber beliebig
oft wiederholt werden
P.S.: Noch zwei nette Foto im Anhang...