Алексей, спасибо за участие. Тоже кажется что костыль, я попробую докрутить ваше решение, но сходу у вас матрица получилась какая то другая) я даже несовсем осознал почему именно такая. В вашей матрице должно быть, что товар всегда с собой участвует в заказе, т.к. в ячейке [DT,DT] = 3, а не NaN.
Но в целом да, через множества вроде эффективней..