Tehtäväsi on pitää kirjaa huoneiden määrästä tässä prosessissa. Huoneissa lattiaruutuja voi kulkea vaaka- ja pystysuuntaisesti, kuten aiemmissa kurssin tehtävissä.
Voit olettaa, että $n$ on enintään $100$ ja luokan metodeita kutsutaan enintään $10000$ kertaa. Lisäksi reunaruutuja ei koskaan muuteta lattiaksi.
Toteuta tiedostoon
wallgrid.py
luokka WallGrid
, jossa on seuraavat metodit:- konstruktori, jolle annetaan ruudukon koko
-
remove
muuttaa ruudun $(x,y)$ lattiaksi, mikäli se ei jo ole lattiaa
-
count
ilmoittaa, montako huonetta ruudukossa on
class WallGrid: def __init__(self,n): # TODO def remove(self,x,y): # TODO def count(self): # TODO if __name__ == "__main__": w = WallGrid(5) print(w.count()) # 0 w.remove(2,2) w.remove(4,2) print(w.count()) # 2 w.remove(3,2) print(w.count()) # 1 w.remove(2,4) w.remove(2,4) w.remove(4,4) print(w.count()) # 3 w.remove(3,3) print(w.count()) # 3 w.remove(3,4) print(w.count()) # 1