Матричная задача - PullRequest
       8

Матричная задача

0 голосов
/ 27 июля 2011

Мне нужно сделать следующую задачу, используя смещение массива.У меня матричная форма фигуры состоит из N блоков.В каждом ряду я могу иметь любое количество блоков и несколько строк.Если я сделаю группировку блоков в 2, я проверю, является ли результирующая группа плохой (дефектной) или хорошей (не дефектной).

Если оба блока в группе имеют «1» - этоозначает, что это хорошая группа, в противном случае - плохая.

Проблема: мне всегда нужно учитывать блоки по краям сначала слева и справа при выполнении группировки.

Итак, на прилагаемой диаграмме в строке 3 я делаю группу из 2 блоков слева, а затем делаю группу из 2 справа (ребра).А затем снова создайте группу на левой стороне.Теперь у меня остался только один блок, и этот блок нужно игнорировать.

В строке 7 одна группа формируется с левой стороны, а одна группа с правой стороны, а средний блок игнорируется.

Я не знаю, как это сделать, используя смещение массива.У любого тела есть решение для этого.

Во входах у меня есть координаты x, y каждого блока и его хорошая / плохая информация.

В конце янужно найти всего нет.из хороших групп, образованных группировкой 2. Используя координаты x, y, я могу создать массив, а затем использовать смещение массива.Это выполнимо?

Точки для диаграммы, прикрепленной ниже:

Блок по краям необходимо учитывать для создания группы.

Всегда берите блок по краям впара 2 и группа из 2 блоков ----> В строке 3 мы проигнорировали один блок в 5-й позиции

1 -> представляет (Хороший блок), т.е. не дефектен, а 0 -> представляетплохой блок, т.е. дефектный

Когда я делаю группу из 2, я проверяю числа в блоке, и если оба они равны '1' -> Это означает, что это хороший блок, иначе плохой блок

В строке 1 группа 1-> неисправна (плохо), а группа 2 -> хорошо (не неисправна)

enter image description here

...