Een aannemer bouwt graag huizen, hij bouwt die zo graag dat er al een aantal prefab huizen in de werkplaats werden opgebouwd.

Onlangs kon hij een aantal cirkelvormige stukken grond aankopen. De lokale overheid nam het besluit dat er slechts één enkel huis op elk stuk grond gebouwd mag worden en dat het huis de grens van het stuk grond niet mag raken.

Als de aannemer een aantal cirkelvormige en een aantal vierkante woningen heeft, kan je dan bepalen hoeveel stukken grond bebouwd kunnen worden zodat de investering maximaal rendeert?

Gevraagd

Programmeer een functie maximale_bebouwing(gronden, huizen_cirkel, huizen_vierkant) de gegeven een lijst met stralen van de cirkelvormige stukken grond, een lijst met stralen van de cirkelvormige huizen en een lijst met de zijden van de vierkantvormige huizen het maximale aantal stukken grond die bebouwd kunnen worden retourneert.

Bestudeer onderstaande voorbeelden grondig.

Voorbeelden

>>> maximale_bebouwing([1, 2, 6, 7, 8], [2, 6, 7], [4, 8, 9])
3
>>> maximale_bebouwing([1, 2], [4, 5, 3], [4, 6, 3])
0

Bron

IDI Open 2017