Ö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 der unten angeführten Position (x,y) 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: (0, 6);
Buchstaben: L(0, 5); A(4, 4); I(3, 1); O(1, 2); S(1, 5);
Hindernisse: (0, 3); (1, 0); (1, 6); (2, 5); (6, 2); (6, 6);