使用C ++中的强力生成所有组合

时间:2012-04-22 17:40:26

标签: c++ combinations brute-force

我必须制作一个程序,通过使用蛮力方法生成所有可能的组合。

问题如下:

假设我有3个任务和2个进程。我将制作一个3x2阵列并进行所有可能的组合,将每个任务分配给每个进程,从而进行不同的组合。请注意,我不必通过fork()或类似的东西创建进程;我只想展示如何将3个任务分配给2个进程的所有可能组合。我必须展示每一个组合。将是一个组合,其中所有任务都通过流程完成。我将向您展示如何创建组合的一些示例。

请注意,它是下表格式的二维数组。不要对这个例子感到困惑,因为它不能以表格形式显示在这里。

例如1

T1 T2 
T3 -
-  -

e.g-2

T1 T2 
-  T3
-  -

e.g-3

T1 - 
T2 -
T3 -

e.g-4

T2 - 
T1 -
T3 - 

因此,每个可能的因素。您可以看到一个示例包含所有任务I.E. T1,T2,T3并没有重复。

请帮我制作一个c ++程序来解决这个问题。

最大数组大小可以是1000x5。

1 个答案:

答案 0 :(得分:0)

或许阅读STL文档可以帮助您:

http://www.cplusplus.com/reference/algorithm/next_permutation/