Je weet zeker dat dit het juiste wachtwoord is, maar de deur gaat niet open. Je klopt, maar niemand antwoordt. Terwijl je nadenkt, bouw je een sneeuwpop.

Terwijl je sneeuwballen rolt voor je sneeuwpop, vind je nog een veiligheidsdocument dat in de sneeuw moet zijn gevallen:

Vanwege nieuwere beveiligingsprotocollen dient u tot nader order de wachtwoordmethode 0x434C49434B te gebruiken.

Je herinnert je nog van de trainingsseminar dat “methode 0x434C49434B” betekent dat je eigenlijk moet tellen hoe vaak elke klik ervoor zorgt dat de wijzer op 0 komt te staan, ongeacht of dit tijdens een rotatie gebeurt of aan het einde ervan.

Volgens dezelfde rotaties als in het bovenstaande voorbeeld wijst de wijzerplaat tijdens zijn rotaties een paar keer extra naar nul:

In dit voorbeeld wijst de wijzerplaat drie keer naar 0 aan het einde van een rotatie, plus nog drie keer tijdens een rotatie. In dit voorbeeld zou het nieuwe wachtwoord dus 6 zijn.

Let op: als de wijzer op 50 zou staan, zou een enkele draaiing zoals R1000 ervoor zorgen dat de wijzer tien keer op 0 zou staan voordat hij weer terugkeert naar 50!

Met behulp van wachtwoordmethode 0x434C49434B, wat is het wachtwoord om de deur te openen?

Opgave

Schrijf een bash shell script secret_entrance dat de padnaam van een document met rotaties als invoer neemt. Het script moet het wachtwoord dat is afgeleid van methode 0x434C49434B op deze rotaties uitvoeren naar stdout. Als we bijvoorbeeld dit document met rotaties nemen (data.txt)

L30
R48
L5
R60
L55
L1
L99
R14
L82

dan moet het wachtwoord 6 zijn.

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat het tekstbestand data.txt zich in de huidige directory bevindt.

$ secret_entrance data.txt
6

Advent of Code 2025

Deze opgave is gebaseerd op de Advent of Code 2025 van Eric Wastl.