Vervolgens moet je de grootste bassins vinden, zodat je weet welke de belangrijkste gebieden zijn die je moet vermijden.

Een bassin wordt gevormd door alle locaties waarvan de rook naar één enkel dieptepunt naar beneden stroomt. Daarom heeft elk dieptepunt een bassin, hoewel sommige bassins erg klein kunnen zijn. Locaties met hoogte 9 tellen niet mee als een bassin, en alle andere locaties zullen altijd deel uitmaken van precies één bassin.

De grootte van een bassin is het aantal locaties binnen het bassin, inclusief het dieptepunt. Het voorgaande voorbeeld heeft vier bassins.

Het bassin linksboven met grootte 3:

2199943210
3987894921
9856789892
8767896789
9899965678

Het bassin rechtsboven met grootte 9:

2199943210
3987894921
9856789892
8767896789
9899965678

Het middelste bassin met grootte 14:

2199943210
3987894921
9856789892
8767896789
9899965678

Het bassin rechtsonder met grootte 9:

2199943210
3987894921
9856789892
8767896789
9899965678

Vind de drie grootste bassins en vermenigvuldig hun groottes. In het voorgaande voorbeeld is dit \(9 \times 14 times 9 = 1134\).

Opgave

Wat krijg je als je de groottes van de drie grootste bassins met elkaar vermenigvuldigt? Bepaal dit op de volgende manier:

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat de tekstbestanden caves01.txt1 en caves02.txt`2 zich in de huidige directory bevinden.

> Submission.basins("displays01.txt")
1134
> Submission.basins("displays02.txt")
916688