Annettuna on -ruudukko, jossa jokainen ruutu on lattiaa tai seinää. Vasemman yläkulman ja oikean alakulman ruudut ovat aina lattiaa eikä niitä voi muuttaa. Ruudukon kuvauksessa merkki .
tarkoittaa lattiaa ja merkki #
tarkoittaa seinää.
Ruudukossa voi liikkua vain oikealle ja alaspäin. Montako ruutua pitää muuttaa vähintään seinäksi, jotta ruudukossa ei ole mitään reittiä vasemmasta yläkulmasta oikeaan alakulmaan?
Toteuta tiedostoon newwall.py
funktio min_changes
, joka antaa pienimmän muutettavien ruutujen määrän.
def min_changes(grid): # TODO if __name__ == "__main__": grid = ["...#.", "...#.", "####.", ".....", "....."] print(min_changes(grid)) # 0 grid = [".#...", "...#.", "...#.", ".###.", ".###."] print(min_changes(grid)) # 0 grid = [".#...", "...#.", "...#.", ".###.", "....."] print(min_changes(grid)) # 1 grid = [".....", ".###.", "...#.", "##.#.", "....."] print(min_changes(grid)) # 2