Helaas krijg je niet het volledig beeld door alleen maar rekening te houden met horizontale en verticale lijnen. Je moet ook rekening houden met diagonale lijnen.

Door een beperking van het systeem dat de hydrothermale bronnen in kaart brengt, zullen alle lijnen ofwel horizontaal, verticaal of diagonaal in een hoek van 45 graden gericht zijn. Met andere woorden:

Als we alle lijnen uit het voorgaande voorbeeld in rekening brengen, dan krijgen we het volgende diagram:

1.1....11.
.111...2..
..2.1.111.
...1.2.2..
.112313211
...1.2....
..1...1...
.1.....1..
1.......1.
222111....

Je moet nog altijd bepalen hoeveel punten er door minstens twee lijnen bedekt worden. In het bovenstaande voorbeeld is dat nog steeds het geval voor alle punten waar in het diagram een 2 of groter staat - nu zijn dat in totaal 12 punten.

Opgave

Beschouw alle lijnen. Hoeveel punten worden door minstens twee lijnen bedekt? Bepaal dit op de volgende manier:

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat de tekstbestanden lines01.txt1 en lines02.txt2 zich in de huidige directory bevinden.

> overlap("lines01.txt")
12
> overlap("lines02.txt")
20898

Epiloog

Jari Komppa (@Sol_HSA3) animeerde zijn oplossing.