Обеспечение того, чтобы только одна формула могла применяться к 4 случайным элементам

У меня есть список формул для комбинирования элементов:

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 Как убедиться, что два элемента не появляются более чем в одном массиве .


Каким будет достаточно эффективный (скорость выполнения) способ сделать это для большого количества элементов и большого количества формул (помимо грубой форсировки)?

6
задан George Duckett 17 January 2012 в 13:33
поделиться