Ö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: (5, 0);
Buchstaben: L(3, 5); A(6, 4); I(0, 0); O(2, 4); S(4, 6);
Hindernisse: (0, 1); (0, 3); (0, 6); (1, 2); (4, 3); (4, 5);