Проблемы разбиения Алгоритм грубой силы

Я пытаюсь сделать псевдокод для проблемы раздела ниже в грубой форме.

набор целых чисел X и целое число k (k> 1). Найти k подмножеств X так, чтобы числа в каждом подмножестве суммировались в одну и ту же сумму, и нет двух подмножеств, имеющих общий элемент, или сделать вывод, что таких k подмножеств не существует. Проблема в NP-Complete

Например, при X = {2, 5, 4, 9, 1, 7, 6, 8} и k = 3 возможное решение будет: {2, 5, 7}, {4, 9, 1}, {6, 8} потому что все они в сумме до 14.

для исчерпывающего поиска я знаю, что обычно нам нужно искать каждое возможное решение и проверять, является ли цель похожей. Но так как это проблема разделения, это может быть сложно.

Алгоритм грубой силы:

Subset= X.sum/K //I had a guess this would make the parition
For int i==1; I <subset; i++ // this would change partition if not found in the first one
If (j=0; I<n; i++)
    Sum == s[i]
    If sum == target 
        Display “found”
    Else 
    “not found”

Ответы на вопрос(2)

Ваш ответ на вопрос