JWINF-Trainingsaufgabe "Fischen" (Python)?

Hallo,

ich bereite mich momentan auf den Jugendwettbewerb in Informatik vor. Bei den Trainingsaufgaben bin ich aber auf eine Aufgabe gestoßen, die ich nicht lösen konnte. Gegeben ist das "Insel"-Problem (siehe Aufgabenstellung), bei dem der Roboter die Fische aus den Netzen aufsammeln und auf den Inseln abliefern soll. Soweit nicht sonderlich schwierig, dies lässt sich mit wenigen for-Schleifen und if-Fallunterscheidungen lösen. Das Problem:

  1. Der Roboter darf nur versuchen einen Fisch abzuliefern, wenn er auch einen Fisch transportiert (genauere Informationen siehe Bild mit "Weiteren Hinweisen"). So erledigen sich Schleifen, wie dass der Roboter sich immer bewegen soll und wenn er auf einem Fisch ist diesen aufsammeln soll und wenn er auf einer Insel ist einen Fisch abliefern soll, da es bspw. vorkommt dass zuerst Inseln kommen und erst danach Fische zum aufsammeln.
  2. Die Inseln sind "zufälig", bzw. ohne Muster platziert, d.h. Fisch und Insel sind z.B. nicht immer nur 5 Felder voneinander entfernt. KORREKTUR: Die Grafik ist maßstabsgetreu und die Inseln und Fische sind genau auf den in der Grafik angegebenen Felder, ihre Position verändert sich nicht mehr. Nur ich erkenne hier halt kein Muster.
  3. Man darf nur for-Schleifen und Fallunterscheidungen benutzen, keine while-Schleifen etc.

Ich hoffe dass wer eventuell einen Lösungsvorschlag oder zumindest Tipps und Ideen hat. Vielen Dank im Voraus : )

Bild zu Frage
Informatik, Python