Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

drawing

Beschrijving

Dit is een uitdaging. Zorg ervoor dat je eerst alle andere oefeningen hebt gemaakt voor je hieraan begint.

Oefening op 3 punten

Je krijgt een rooster (m x n) waarin elke cel een van deze waarden bevat:

Elke minuut worden alle verse appelsienen die boven, onder, links of rechts naast een rotte appelsien liggen ook rot.

Bepaal het minimum aantal minuten dat nodig is zodat er geen verse appelsienen meer overblijven. Als dat onmogelijk is, geef -1 terug.

Input

De functie krijgt een matrix grid met gehele getallen 0, 1 en 2.

Output

Geef een geheel getal terug:

Voorbeeld

>>> rotte_appelsienen([[2, 1, 1], [1, 1, 0], [0, 1, 1]])
4
>>> rotte_appelsienen([[2, 1, 1], [0, 1, 1], [1, 0, 1]])
-1
>>> rotte_appelsienen([[0, 2]])
0