Bij een verkaveling wordt een stuk land opgedeeld in verschillende kavels die elk een andere eigenaar kunnen hebben. Vroeger hadden de boeren kleine stukken land, die vaak door elkaar heen lagen. Een boer moest toen over het land van een andere boer lopen of rijden om naar zijn eigen kavels te gaan. Tengevolge van de schaalvergroting van de landbouw wordt tegenwoordig gewerkt met vierkante kavels, en streven boeren ernaar om te werken met zo groot mogelijke percelen: rechthoekige gebieden van aaneengesloten kavels.

Onderstaand voorbeeld toont een rechthoekig stuk land dat werd opgedeeld in $$10 \times 10$$ vierkante kavels. Drie percelen (witte rechthoeken) werden reeds door boeren in gebruik genomen. Zoek de oppervlakte van het grootst mogelijke perceel waarvan nog geen enkel kavel in gebruik werd genomen. In dit voorbeeld is dit een perceel dat bestaat uit 16 kavels, zoals aangegeven door de gestreepte rechthoek.

verkaveling

Opgave

Definieer een klasse Verkaveling met volgende methoden:

Voorbeeld

>>> verkaveling = Verkaveling(6, 6)
>>> print(verkaveling)
######
######
######
######
######
######
>>> verkaveling.grootstePerceel()
36
>>> verkaveling.reserveer(3, 0, 5, 2)
>>> print(verkaveling)
######
######
######
---###
---###
---###
>>> verkaveling.grootstePerceel()
18
>>> verkaveling.reserveer(0, 3, 2, 5)
>>> print(verkaveling)
###---
###---
###---
---###
---###
---###
>>> verkaveling.grootstePerceel()
9
>>> verkaveling.reserveer(2, 2, 3, 3)
Traceback (most recent call last):
AssertionError: perceel kan niet gereserveerd worden
>>> print(verkaveling)
###---
###---
###---
---###
---###
---###