Очередной поток сознания.
Задача.
Дан прямоугольник k - количество строк, m - количество колонок. Так же дан набор натуральных чисел

. Необходимо каждую строку прямоугольника заполнить числами от 1 до m. Каждое число используется ровно один раз. То есть каждую строку прямоугольника заполнить перестановкой чисел [1,...,m]. Заполнение должно быть таким, что сумма чисел в колнке i должна равняться

.
Вопросы.
1) Является ли задача NP-полной?
2) Существует ли полиномиальный алгоритм решения задачи?
3) Существует ли псевдополиномиальный алгоритм решения задачи?
4) Какие необходимые и достаточные условия существования решения для набора

можно сформулировать?
Следующие необходимые условия очевидны:


Если упорядочить

по возрастанию:

для всех j

5) Можно ли, для заданных k и m, определить интервал
![$[A_{km},B_{km}]$ $[A_{km},B_{km}]$](https://dxdy-02.korotkov.co.uk/f/d/c/e/dce0b1bc4f155a2bc3a20d6bea3893bc82.png)
. Такой что любые m различных чисел, взятых из этого интервала, образуют набор

, для которого существует решение задачи.