【问题标题】:Generating all combinations using brute force in C++在 C++ 中使用蛮力生成所有组合
【发布时间】:2012-04-22 17:40:26
【问题描述】:

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

问题如下:

假设我有 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算法对这类事情有很好的作用。不过,我不确定它是否适合这个家庭作业。

标签: c++ combinations brute-force


【解决方案1】:

阅读 STL 文档可能会对您有所帮助:

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

【讨论】:

  • no...task 等于 no of process 时很有用....但可能不是这样...实际上 process 代表没有要填补的职位,task 代表谁将填补他们......例如,如果我有 2 个进程和 5 个任务......那么我一次有 2 个职位......所以
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多