Нахождение подмножества, которое удовлетворяет определенному условию

У меня есть несколько массивов чисел (каждый элемент массива может принимать только значение 0 или 1), например, этот

v1: 1; 0; 0; 1; 1; 
v2: 0; 1; 0; 0; 1; 
v3: 1; 1; 0; 1; 0; 
v4: 1; 0; 0; 1; 0; 
v5: 1; 1; 0; 1; 1; 
v6: 1; 1; 0; 1; 1; 

Я хочу найти такие подмножества, чтобы при суммировании массивов результирующий массив имел отдельные элементы которые кратны 2. Например, v1 + v2 + v3 дает результирующий массив из 2, 2, 0, 2, 2. Результирующий массив может иметь любое значение, кратное 2.

Другой пример:

v1: 1, 1, 1, 0, 1, 0
v2: 0, 0, 1, 0, 0, 0
v3: 1, 0, 0, 0, 0, 0
v4: 0, 0, 0, 1, 0, 0
v5: 1, 1, 0, 0, 1, 0
v6: 0, 0, 1, 1, 0, 0
v7: 1, 0, 1, 1, 0, 0

В этом примере подходящими ответами являются v1 + v2 + v5 и v3 + v6 + v7.

Я имею в виду решение с использованием грубой силы, но я хотел проверить, есть ли более эффективный метод. Эквивалентно ли это задаче суммы подмножеств?

7
задан Neo 16 December 2011 в 21:45
поделиться