Мне хотелось узнать, какой алгоритм я должен применить здесь. Будет ли DFS?
Учитывая 2-мерную матрицу. Найдите общее количество подключенных множеств в этой матрице.
Подключенный набор может быть определен как группа ячеек (ячеек), которая имеет 1 упомянутый на ней и имеет по крайней мере одну другую ячейку в том наборе, с которой они разделяют соседнее отношение. Ячейка с 1 в ней и никакой соседний сосед, имеющий 1 в ней, можно рассматривать как набор с одной ячейкой в нем. Соседи могут быть определены как все ячейки, смежные с данной ячейкой, в 8 возможных направлениях (т.е. N, W, E, S, NE, NW, SE, направление SW). Ячейка не является соседом по себе.
Например:
1 0 0 1
0 0 1 0
0 0 1 0
1 0 0 1
количество подключенных множеств равно 3
0 0 1 0 0 1 0 0
1 0 0 0 0 0 0 1
0 0 1 0 0 1 0 1
0 1 0 0 0 1 0 0
1 0 0 0 0 0 0 0
0 0 1 1 0 1 1 0
1 0 1 1 0 1 1 0
0 0 0 0 0 0 0 0
количество подключенных наборов равно 9.