Annettuna on n \times m -ruudukko, joka esittää labyrinttiä. Tehtäväsi on laskea lyhimmän reitin pituus ruudusta A ruutuun B. Jokainen ruutu on joko lattiaa (.) tai seinää (#), ja jokainen reunalla oleva ruutu on seinää.
Voit olettaa, että 1 \le n, m \le 20. Jos mitään reittiä ei ole olemassa, palauta -1.
Python
Toteuta tiedostoon labyrinth.py funktio count, joka kertoo lyhimmän reitin pituuden.
def count(r):
    # TODO
if __name__ == "__main__":
    r = ["########",
         "#.A....#",
         "#.#.##.#",
         "#.##...#",
         "#...B#.#",
         "########"]
    print(count(r)) # 7
Java
Toteuta tiedostoon Labyrinth.java metodi count, joka kertoo lyhimmän reitin pituuden.
public class Labyrinth {
    public int count(String[] r) {
        // TODO
    }
    public static void main(String[] args) {
        Labyrinth l = new Labyrinth();
        String[] r = {"########",
                      "#.A....#",
                      "#.#.##.#",
                      "#.##...#",
                      "#...B#.#",
                      "########"};
        System.out.println(l.count(r)); // 7
    }
}
