Ödipus im Labyrinth

Ödipus, der Sohn von König Laios, muss in einem Labyrinth Steine auflesen. Das Labyrinth ist quadratisch und misst auf der x-Achse (waagrecht) und der y-Achse (senkrecht) jeweils 7 Felder, wobei das Feld in der linken oberen Ecke die Bezeichnung x0/y0 trägt. Manche Felder sind mit Hindernissen verbaut und daher unbegehbar.

Jeder der Steine, die Ödipus auflesen muss, trägt einen Buchstaben. Insgesamt gibt es folgende 5 Steine: L, A, I, O und S. In welcher Reihenfolge sammelt Ödipus die Steine auf, falls er an Position (x1,y0) startet und nach folgendem Algorithmus vorgeht:

FUNCTION GeheZu(x, y)
BEGIN
    IF Ungültig(x,y) OR SchonBesucht(x,y) THEN
        RETURN
    ENDIF

    Sammle(x,y)
    MarkiereAlsBesucht(x,y)

    GeheZu(x+1, y) //nach rechts
    GeheZu(x, y+1) //nach unten
    GeheZu(x-1, y) //nach links
    GeheZu(x, y-1) //nach oben
END

Startposition Ödipus: (6, 4);
Buchstaben: L(6, 1); A(5, 1); I(4, 2); O(5, 5); S(2, 4);
Hindernisse: (1, 0); (2, 3); (3, 0); (3, 6); (4, 4); (6, 6);