Je dispose d'une liste de formules pour combiner des éléments :
A + B + C = X
D + E + F = Y
G + H + I = Z
Je veux m'assurer qu'à partir de 4 éléments pris au hasard, il n'y aura jamais plus d'une formule applicable. Par exemple, les formules ci-dessous ne devraient pas être autorisées car si j'obtiens les éléments A, B, C et D, les deux sont applicables :
A + B + C = X
B + C + D = Y
Chaque formule sera composée de 3 éléments sur la LHS et c'est sur la LHS que je veux appliquer la règle. Les éléments peuvent être triés, si cela peut aider.
Un problème alternatif et équivalent :
J'ai une liste d'un tableau de 3 éléments : List<Element[3]>
Comment puis-je m'assurer qu'aucun élément n'apparaît dans plus d'un tableau ?
Quel serait un moyen raisonnablement efficace (vitesse d'exécution) d'effectuer cette opération pour un grand nombre d'éléments et un grand nombre de formules (au-delà de la force brute) ?