【发布时间】:2009-02-06 12:42:23
【问题描述】:
我有许多插槽和钉子排成一条直线。钉子可以移动,并且需要分别移动到一个插槽中。只有当所有的钉子都被拿走时,一个插槽才能空着。当一个钉子被移动时,它不能越过另一个钉子。换句话说,必须保持挂钩的顺序。优选地,所有钉移动的总距离应保持在最小值。应尽可能将钉子放在最近的可用插槽中。
我只想知道:哪个数学领域处理这样的问题?处理类似问题的任何知名算法的名称是什么?我正在寻找谷歌饲料。一些关键字。
+--oooo-+--+---+---o--+------+--+-ooo+o-+-------o--+-----o-o-+-o
+ - Slots
o - Pegs
编辑:我认为这种可视化更有意义。它们是两个独立的轨道,需要排队。
Slots: +-------+--+---+------+------+--+----+--+----------+---------+--
Pegs: ---oooo------------o--------------ooo-o---------o--------o-o---o
编辑:只是想明确一点,槽的数量可以大于、小于或等于钉子的数量。
【问题讨论】:
-
"钉子可以移动,需要分别移动到一个插槽中。"
-
@tehvan,这个想法是填补空缺;任何额外的钉子都不动。
-
我不明白这里某些答案中使用的符号。我不懂函数式编程。我会在研究完该主题后立即选择一个接受的答案。感谢您的所有贡献。 BRB。