我希望将每次取m个点的所有可能组合分成r个组。
如何将其进一步分成r组,以使每个组的第i个元素没有相似点。
例如,
Points = [A,B,C,D] m = 2 and r = 2 l = [[A,B],[A,C],[A,D],[B,C],[B,D],[C,D]]
因此,分组将为
Group 1 = [[A,B],[A,C],[A,D]] 对应的 Group 2 = [[C,D],[B,D],[B,C]]
注意:组1和组2中第i个索引中的点没有相似点。
我想对n个点进行这样的操作,每次取m个点并将其分组为r个组。
请提供算法。
还要注意,当点数增加时,如果我们想要更多的组,则可能的组合也会增加。
点集 = [A,B,C,D........] 共有n个点
这些点中每次取m个点的组合将会是一个列表l
l = list(itertools.combinations(points,m))
如何将其进一步分成r组,以使每个组的第i个元素没有相似点。
例如,
Points = [A,B,C,D] m = 2 and r = 2 l = [[A,B],[A,C],[A,D],[B,C],[B,D],[C,D]]
因此,分组将为
Group 1 = [[A,B],[A,C],[A,D]] 对应的 Group 2 = [[C,D],[B,D],[B,C]]
注意:组1和组2中第i个索引中的点没有相似点。
我想对n个点进行这样的操作,每次取m个点并将其分组为r个组。
请提供算法。
还要注意,当点数增加时,如果我们想要更多的组,则可能的组合也会增加。
r
、m
和n
的限制是什么?如果它们太大了,这可能是没有希望的。此外,显然r × m ≤ n
,但是r × m < n
可能吗? - Alex Hall