如何迭代所有可能的网格布局?

时间:2015-04-25 21:18:23

标签: algorithm combinatorics

我有一个网格(NSArray CGPoint s),我想根据一些约束在点处布置一些对象。这就是我所知道的:

  • 网格有多大
  • 必须在网格上布置的对象数
  • 一个物体与另一个物体之间的最小距离(使用一些毕达哥拉斯魔法计算)
  • 网格上的点之间的距离
  • 每个点只能有一个对象

我选择一个随机对象(使用arc4random)并验证这是否是一个有效点。如果是,请将其标记为此并选择另一个点。如果没有,继续,直到搜索整个阵列,此时网格布局被标记为不可能,然后重新开始。

这一直持续到找到有效的网格布局。

问题:

我不知道有多少如果给定约束存在任何有效布局。因此,在开始不可能的搜索之前,我无法尝试找到计算可能排列的方法,或者迭代搜索排列以查找是否存在任何有效网格。

0 个答案:

没有答案