У меня есть список формул для комбинирования элементов:
A + B + C = X
D + E + F = Y
G + H + I = Z
Я хочу убедиться, что при любых 4 случайных элементах никогда не будет более одной применимой формулы. Например, приведенные ниже формулы не должны быть разрешены, как если бы я получил элементы A, B, C и D, тогда применимы оба:
A + B + C = X
B + C + D = Y
Каждая формула будет состоять из 3 элементов на LHS, и именно на LHS я хочу применить правило на. Если это помогает, элементы можно сортировать.
Альтернативная, эквивалентная проблема:
У меня есть список из трех элементов: List
Как убедиться, что два элемента не появляются более чем в одном массиве .
Каким будет достаточно эффективный (скорость выполнения) способ сделать это для большого количества элементов и большого количества формул (помимо грубой форсировки)?