faecher:informatik:oberstufe:java:aoc:aoc2024:day10:start

Day 10: Hoof It

Dieser Tag ist wieder ziemlich einfach und lässt sich mit Rekursion straight-forward lösen.

Grundsätzliche Vorgehensweise: Starte pro 0-Höhe einen rekursiven Aufruf, der jeweils wiederum in alle 4 möglichen Richtungen einen weiteren rekursiven Aufruf startet.

Tipps zur Vorgehensweise:

Lösungsvorschlag:

Für den Teil 2 muss nur eine winzige Kleinigkeit angepasst werden.

In Teil 1 geht es darum, pro Startpunkt zu zählen, wie viele Trail-Enden man erreichen kann. Jedes Trail-Ende darf also nur einmal erreicht werden. Daher mussten wir da auch markieren, falls wir ein Ende erreicht hatten.

In Teil 2 geht es darum, pro Startpunkt zu zählen, wie oft ein Trail-Ende erreicht werden kann. Jedes Trail-Ende darf also von "benachbarten" rekursiven Aufrufen beliebig oft erreicht werden.

  • Es muss daher nun kein Trail-Ende mehr als "bereits gefunden" markiert werden.
  • Da nichts mehr markiert bzw. am Array "manipuliert" werden muss, musst du den ersten rekursiven Aufruf auch nicht mehr mit einer Kopie des Arrays starten.

Achte bei den Aufrufen der rekursiven Methoden darauf, dass du überall die korrekten, neuen Methoden für Teil 2 aufrufst.

Lösungsvorschlag

  • faecher/informatik/oberstufe/java/aoc/aoc2024/day10/start.txt
  • Zuletzt geändert: 10.12.2024 08:44
  • von Marco Kuemmel