ОК ... так что у меня есть немного хитрости (для меня, по крайней мере).
У меня есть список простых объектов, и мне нужно выяснить, как найти комбинацию, которая делаетиспользование максимального количества.У каждого из этих классов объектов есть свойство (строка) для их имени, свойство (Список) для имен других элементов, с которыми они любят связываться, и свойство (Список) для имен других элементов, с которыми они делаютне нравится связывать.
Если элемент добавлен в коллекцию, где этому конкретному элементу «нравится» один (или более) из других элементов, уже находящихся в коллекции, то добавленный элемент возвращает оценку +1 длякаждый предмет в коллекции, который ему нравится.Аналогично, оценка -1 возвращается для каждого элемента в коллекции, который добавленному элементу не нравится.После добавления всех элементов в итоговую коллекцию оценка для каждого должна быть> = 0.
Как мне найти комбинацию (и) элементов, которые я могу использовать, чтобы получить наибольшую коллекцию?Если несколько комбинаций возвращают одинаковое количество элементов, должны быть возвращены все возможные комбинации.
Надеюсь, это имело смысл ... Кроме того, я использую C # (.NET 4.0), но любой язык программированияможно использовать, мне просто нужно разобраться в логике этого.
Заранее спасибо,Sonny