我必须编写一个程序,通过使用蛮力方法生成所有可能的组合。
题目如下:
假设我有 3 个任务和 2 个进程。我将制作一个 3x2 数组并进行所有可能的组合,以将每个任务分配给每个进程,从而进行不同的组合。请注意,我不必通过 fork() 或类似的东西创建流程;我只是想展示如何将 3 个任务分配给 2 个进程的所有可能组合。我必须展示每一个组合。一个组合将是,所有任务都通过流程完成。我将向您展示一些如何创建组合的示例。
请注意,它是下表格式的二维数组。不要对示例感到困惑,因为它无法在此处以表格格式显示。
例如-1
T1 T2 T3 - - -
例如-2
T1 T2 - T3 - -
例如-3
T1 - T2 - T3 -
例如-4
T2 - T1 - T3 -
因此,所有可能的因素。您可以看到一个示例具有所有任务 I.E. T1,T2,T3,没有一个是重复的。
请帮我写一个c++程序来解决这个问题。
最大数组大小可以是 1000x5。
最佳答案
阅读 STL 文档可能会对您有所帮助:
http://www.cplusplus.com/reference/algorithm/next_permutation/
关于c++ - 在 C++ 中使用暴力生成所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10270378/