Gegeven een rooster met 0 en 1 waarden, zoek dan de oppervlakte van het grootste vierkant gevuld met 1‘en.

Gevraagd

Schrijf een functie grootste_vierkant(rooster) dat gegeven een rooster met 0 en 1 waarden de oppervlakte van het grootste vierkant bepaalt.

Bestudeer grondig onderstaande voorbeelden.

Voorbeelden

>>> grootste_vierkant([[1, 0, 1, 0, 0],
                       [1, 0, 1, 1, 1],
                       [1, 1, 1, 1 ,1],
                       [1, 0, 0, 1, 0]])
4
>>> grootste_vierkant([[1, 0],
                       [0, 0],
                       [0, 0],
                       [0, 0]])
1
>>> grootste_vierkant([[1, 1, 1, 1, 0],
                       [1, 1, 1, 1, 0],
                       [1, 1, 1, 1, 1],
                       [1, 1, 1, 1, 1],
                       [0, 0 ,1 ,1 ,1]])
16