Wątek przeniesiony 2017-11-24 21:13 z C/C++ przez kq.

Obliczenie ilości spójnych obszarów

0

Jak zrobić to w prosty sposób? Jestem noobkiem ;)
Celem zadania jest policzenie ilości spójnych obszarów jedynek i wypisanie tej liczby.
Na wejściu dostajemy ilość wierszy i kolumn.
Przykład:

Wejście:

14 6
0 1 0 1 0 1 0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 0 0 1 0 0 0 0
0 1 1 1 1 1 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 1 1 0
0 1 1 1 0 0 1 0 0 0 0 1 0 1
0 1 1 1 0 0 0 0 0 0 0 0 1 1

Wyjście:

4
1

Na szybko wymyślony sposób:

  • dla wszystkich komórek macierzy1:
    • jeśli komórka zawiera wartość 1:
      • inkrementuj licznik wystąpień pól,
      • użyj algorytmu rozrostu ziarna2, zmieniając wszystkie 1 na 0.

[1] Sugeruję zawartość wejścia załadować do macierzy dwuwymiarowej.
[2] Wystarczy prosta rekurencyjna wersja, obsługująca skosy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1