我试图列出所有可能的组合3组,一个人可以由6个人组成。(A, B, C, D, E, F)
可能的组合:
{(B,D),(C,E),(G,H)}
{(B,C),(D,E),(G,H)}
{(B,E),(C,D),(G,H)}我只能写这么多:
from itertools import combinations
x = combinations('ABCDEF', 2)
z = [y for y in x]我不知道该如何从组合中创建组合,文档对此帮助不大。我想我得有人从头开始创建一个算法。
发布于 2018-12-06 19:57:34
您可以将其实现为回溯问题。首先,你需要找到所有的排列。在那之后,你应该把名单切成薄片。例如:第一个置换是A,B,C,D,E,F,你会像这样切片它(A,B),(C,D),(E,F),第二置换是A,B,C,D,F,E,片是(A,B),(C,D),(F,E)。诸若此类。
https://stackoverflow.com/questions/53658604
复制相似问题