0

我想创建一个约束来过滤 nxn 矩阵中的所有重复行,其中每个字段由 0 或 1 组成。矩阵最多可以有 10x10 行和列。例如,我们有以下 4x4 矩阵:

0 1 0 1

1 1 1 0

0 1 0 1

1 0 1 1

那么第 1 行和第 3 行将是相同的,这是不可能的。我一直在思考这个问题 4 个小时,但没有运气。

有人可以给我一个提示吗?

4

1 回答 1

1

正如您所注意到的,您不能“仅仅”让行 (1,0,1,1) 在数据记录关系中出现两次。当然,问题在于数据记录关系存储集合,而不是元素的列表或多集合。处理这个问题的最好方法是添加额外的数据来跟踪一行出现的频率,以将矩阵视为从索引到值的映射。您可以尝试以下方法之一:

myUnorderedMultiset[x,y,z,w]=count -> int(x), int(y), int(z), int(w), int(count).

或者

myMatrix[rowIndex, columnIndex] = value -> int(rowIndex), int(columnIndex), int(value).
于 2014-03-31T16:10:53.720 回答