Gooi nu de beschadigde regels weg. De overige regels zijn onvolledig.
Onvolledige regels hebben geen verkeerd sluitende karakters - in plaats daarvan missen ze enkele sluitende karakters op het einde van de regel. Op het navigatie-subsysteem te herstellen, hoef je alleen maar de volgorde van de sluitende karakters te vinden die alle open blokken op de regel afsluiten.
Je kunt enkel de sluitende karakters (), ], }, of >) gebruiken, en je moet ze in de juiste volgorde toevoegen, zodat alleen geldige paren gevormd worden en alle blokken finaal afgesloten worden.
In het vorige voorbeeld zijn er vijf onvolledige regels:
[({(<(())[]>[[{[]{<()<>> - Afsluiten met }}]])})].[(()[<>])]({[<{<<[]>>( - Afsluiten met )}>]}).(((({<>}<{<{<>}{[]{[]{} - Afsluiten met }}>}>)))).{<[[]]>}<{[{[{[]{()[[[] - Afsluiten met ]]}}]}]}>.<{([{{}}[<[[[<>{}]]]>[]] - Afsluiten met ])}>.Wist je dat tools voor automatisch aanvullen ook wedstrijden houden? Het is echt waar! De score wordt bepaald door de afsluitende reeks karakter per karakter te bekijken. Begin met een totaalscore van 0. Vermenigvuldig daarna voor elk aanvullend afsluitend karakter de totaalscore met 5 en verhoog vervolgens de totaalscore met de puntenwaarde van het karakter op basis van deze tabel:
): 1 punt.]: 2 punten.}: 3 punten.>: 4 punten.De laatste afsluitende reeks hierboven - ])}> - zou dus als volgt gescoord worden:
0.
0te bekomen, en tel daar de waarde van ] (2) bij op om een nieuwe totaalscore van 2 te bekomen.10te bekomen, en tel daar de waarde van ) (1) bij op om een nieuwe totaalscore van 11 te bekomen.55te bekomen, en tel daar de waarde van } (3) bij op om een nieuwe totaalscore van 58 te bekomen.290te bekomen, en tel daar de waarde van > (4) bij op om een nieuwe totaalscore van 294 te bekomen.De afsluitende reeksen van de vijf onvolledige regels hebben de volgende totaalscores::
}}]])})] - 288957 total punten.)}>]}) - 5566 total punten.}}>}>)))) - 1480781 total punten.]]}}]}]}> - 995444 total punten.])}> - 294 total punten.Tools voor automatisch aanvullen zijn een soort apart: de winnaar wordt gevonden door alle scores te sorteren en daarna de middelste score te nemen. (Er is altijd een oneven aantal scores waarmee rekening moet gehouden worden.) In dit voorbeeld is de middelste score 288957 omdat er evenveel scores kleiner en groter zijn dan die score.
Zoek de afsluitende reeks voor elke onvolledige regel, score de afsluitende reeksen en sorteer de scores. Wat is de middelste score? Bepaal dit op de volgende manier:
score waaraan de padnaam (string) moet doorgegeven worden van een tekstbestand met de code van een navigatie-subsysteem. De functie moet de middelste score (number) van alle afsluitende reeksen teruggeven.In deze interactieve sessie gaan we ervan uit dat de tekstbestanden subsystem01.txt1 en subsystem02.txt`2 zich in de huidige directory bevinden.
> score("subsystem01.txt")
288957
> score("subsystem02.txt")
1190420163