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:
50.L68 gedraaid om naar 82 te wijzen; tijdens deze draaiing wijst hij eenmaal naar 0.L30 gedraaid om naar 52 te wijzen.R48 gedraaid om naar 0 te wijzen.L5 gedraaid om naar 95 te wijzen.R60 gedraaid om naar 55 te wijzen; tijdens deze draaiing wijst hij eenmaal naar 0.L55 gedraaid om naar 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; tijdens deze draaiing wijst hij één keer naar 0.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?
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.
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.