CSES - Huoneet

Annettuna on n \times m -ruudukko, joka esittää talon pohjapiirrosta. Jokainen ruutu on joko lattiaa (.) tai seinää (#), ja jokainen reunalla oleva ruutu on seinää.

Kaksi lattiaruutua kuuluvat samaan huoneeseen, jos ne ovat vierekkäin pysty- tai vaakasuunnassa. Montako huonetta talossa on?

Voit olettaa, että 1 \le n, m \le 20.

Python

Toteuta tiedostoon chambers.py funktio count, joka antaa huoneiden määrän.

def count(r):
    # TODO

if __name__ == "__main__":
    r = ["########",
         "#..#...#",
         "####.#.#",
         "#..#.#.#",
         "########"]
    print(count(r)) # 3

Java

Toteuta tiedostoon Chambers.java metodi count, joka antaa huoneiden määrän.

public class Chambers {
    public int count(String[] r) {
        // TODO
    }

    public static void main(String[] args) {
        Chambers c = new Chambers();
        String[] r = {"########",
                      "#..#...#",
                      "####.#.#",
                      "#..#.#.#",
                      "########"};
        System.out.println(c.count(r)); // 3
    }
}