我有几个数字数组(数组的每个元素只能取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 是合适的答案。
我有一个蛮力解决方案,但我想检查是否有更有效的方法。这相当于子集和问题吗?