Я работаю над решателем GECODE для реализации задачи Matrix Generation.Я разобрался со всеми необходимыми ограничениями, кроме одного:
Given a Matrix[M, N], all column vectors must be pairwise distinct.
Это код, который я хотел бы написать:
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
{
if( i != j )
{
notsame(*this, m.col(i), m.col(j));
}
}
}
Но я могуне могу понять, как это выразить с помощью примитивных ограничений.Я знаю, distinct()
существует, однако я не могу понять, как работать со столбцами в матрице, вместо элементов в самой матрице столбцов.Как лучше всего выразить это ограничение по матрицам?