ho più array di numeri (ciascun elemento della matrice può assumere solo un valore di 0 o 1) similiTrovare un sottoinsieme che soddisfa una certa condizione
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;
desidero trovare sottoinsiemi tali che, quando gli array vengono sommati, l'array risultante ha singoli elementi che sono multipli di 2. Ad esempio, v1 + v2 + v3 fornisce un array risultante di 2, 2, 0, 2, 2. L'array risultante può avere qualsiasi valore che sia un multiplo di 2.
un altro esempio:
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
In questo esempio, v1 + v2 + v5 e v3 + v6 + v7 sono risposte appropriate.
Ho una soluzione di forza bruta in mente, ma volevo verificare se esiste un metodo più efficiente. Questo è equivalente al problema della somma dei sottoinsiemi?
Google: "sottoinsieme xo problema" –
È possibile elaborare: 1.) Per quanto tempo sono i set 2.) È necessario il risultato somma array? –
Il numero di elementi di ciascun array e il numero di tali array sono sconosciuti all'inizio del programma. In realtà non ho bisogno della matrice di somma. Solo i numeri degli array. Quindi ho bisogno di 1, 2, 5 se v1 + v2 + v5 è il risultato. – Neo