De Elfen hebben goed en slecht nieuws.
Het goede nieuws is dat ze projectmanagement hebben ontdekt! Hierdoor beschikken ze nu over de tools die ze nodig hebben om hun gebruikelijke kerstcrisis te voorkomen. Ze weten nu bijvoorbeeld dat de versieringen voor de Noordpool snel af moeten zijn, zodat andere belangrijke taken op tijd kunnen beginnen.
Het slechte nieuws is dat ze zich realiseren dat ze een andere noodsituatie hebben: volgens hun planning heeft niemand van hen nog tijd om de Noordpool te versieren!
Om Kerstmis te redden, hebben de Elfen jou nodig om de Noordpool vóór 12 december helemaal versierd te hebben.
Verzamel sterren door puzzels op te lossen. Elke dag zijn er twee puzzels beschikbaar; de tweede puzzel wordt ontgrendeld wanneer je de eerste hebt voltooid. Elke puzzel levert één ster op. Veel succes!
Je komt aan bij de geheime ingang van de Noordpoolbasis en bent klaar om te beginnen met versieren. Helaas lijkt het wachtwoord te zijn gewijzigd, dus je kunt niet naar binnen. Een document dat aan de muur is geplakt, geeft een nuttige uitleg:
Vanwege nieuwe veiligheidsprotocollen is het wachtwoord opgeslagen in de kluis hieronder. Raadpleeg het bijgevoegde document voor de nieuwe combinatie.
De kluis heeft een draaiknop met alleen een pijl erop; rondom de draaiknop staan de cijfers 0 tot en met 99 op volgorde. Als je aan de draaiknop draait, maakt deze een klein klikgeluid bij elk cijfer.
Het bijgevoegde document (je puzzelinvoer) bevat een reeks rotaties, één per regel, die je vertellen hoe je de kluis moet openen. Een rotatie begint met een L of R, wat aangeeft of de rotatie naar links (naar lagere getallen) of naar rechts (naar hogere getallen) moet zijn. Vervolgens heeft de rotatie een afstand die aangeeft hoeveel klikken de draaiknop in die richting moet worden gedraaid.
Als de wijzer dus op 11 stond, zou een draaiing van R8 ervoor zorgen dat de wijzer op 19 zou komen te staan. Daarna zou een draaiing van L19 ervoor zorgen dat hij op 0 zou komen te staan.
Omdat de wijzerplaat een cirkel is, wijst deze bij het één klik naar links draaien vanaf 0 naar 99. Op dezelfde manier wijst de wijzerplaat bij het één klik naar rechts draaien vanaf 99 naar 0.
Als de wijzer dus op 5 stond, zou een draaiing van L10 ervoor zorgen dat hij op 95 zou komen te staan. Daarna zou een draaiing van R5 ervoor kunnen zorgen dat hij op 0 zou komen te staan.
De wijzerplaat begint bij 50.
Je zou de instructies kunnen volgen, maar tijdens de recente verplichte officiële veiligheidstraining voor de geheime toegang tot de Noordpool heb je geleerd dat de kluis eigenlijk een afleiding is. Het echte wachtwoord is het aantal keren dat de wijzer na elke draai in de reeks op 0 blijft staan.
Stel bijvoorbeeld dat het bijgevoegde document de volgende rotaties bevat:
L68
L30
R48
L5
R60
L55
L1
L99
R14
L82
Als je deze rotaties volgt, beweegt de wijzerplaat als volgt:
50.L68 gedraaid om naar 82 te wijzen.L30 gedraaid om naar 52 te wijzen.R48 gedraaid om naar 0 te wijzen.L5 gedraaid om op 95 te wijzen.R60 gedraaid om op 55 te wijzen.L55 gedraaid om op 0 te wijzen.L1 gedraaid om naar 99 te wijzen.L99 gedraaid om naar 0 te wijzen.R14 gedraaid om naar 14 te wijzen.L82 gedraaid om naar 32 te wijzen.Omdat de wijzer tijdens dit proces in totaal drie keer op 0 staat, is het wachtwoord in dit voorbeeld 3.
Analyseer de rotaties in het bijgevoegde document. Wat is het daadwerkelijke wachtwoord om de deur te openen?
Schrijf een bash shell script secret_entrance dat de padnaam van een document met rotaties als invoer neemt. Het script moet het wachtwoord dat uit deze rotaties is afgeleid, naar stdout uitvoeren. Als we bijvoorbeeld dit document met rotaties nemen (data.txt)
L30
R48
L5
R60
L55
L1
L99
R14
L82
dan moet het wachtwoord 3 zijn.
In deze interactieve sessie gaan we ervan uit dat het tekstbestand data.txt zich in de huidige directory bevindt.
$ secret_entrance data.txt
3
Advent of Code 2025
Deze opgave is gebaseerd op de Advent of Code 2025 van Eric Wastl.