Очередной поток сознания.
Задача.
Дан прямоугольник k - количество строк, m - количество колонок. Так же дан набор натуральных чисел
. Необходимо каждую строку прямоугольника заполнить числами от 1 до m. Каждое число используется ровно один раз. То есть каждую строку прямоугольника заполнить перестановкой чисел [1,...,m]. Заполнение должно быть таким, что сумма чисел в колнке i должна равняться
.
Вопросы.
1) Является ли задача NP-полной?
2) Существует ли полиномиальный алгоритм решения задачи?
3) Существует ли псевдополиномиальный алгоритм решения задачи?
4) Какие необходимые и достаточные условия существования решения для набора
можно сформулировать?
Следующие необходимые условия очевидны:
Если упорядочить
по возрастанию:
для всех j
5) Можно ли, для заданных k и m, определить интервал
. Такой что любые m различных чисел, взятых из этого интервала, образуют набор
, для которого существует решение задачи.