0
在只有4个垃圾箱的情况下,我被下列问题困住了。我可以做6或8,但不是4.另外,有人可以帮我想出一个通用的算法呢?每次排序二个垃圾箱
您有n个垃圾箱(以B A B A ...的交替顺序排列),您可以一次移动2个垃圾箱并获得2个插槽。对它们进行排序,以便最终所有“B”箱中的所有“A”箱都保留下来。它们应该都是相邻的,即最终没有差距。例如:
_ _ _ _ B A B A
感谢
编辑:是的,你必须一次移动两成相邻箱成两个相邻的斑点。
编辑2:不,你不能转置垃圾箱。这里有6个箱的例子:
_ _ _ _ _ _ BABABA
_ _ _ _ ABB _ ABA
_ _ _ _ ABBBAA _
_ AAABBB _ _ _
当您移动2个垃圾箱时,他们是否必须移动到相邻的位置?当你选择两个箱子移动时,你是否必须选择两个相邻的箱子?如上所述,这不是很清楚.. – 2014-10-18 18:30:32
是@MikeDinescu,我编辑了这个问题 – Riz 2014-10-18 18:34:34
当你移动2个垃圾箱时,你能移动它们吗? (也就是'__BA' =>'AB__'?当你将两个箱子移动到两个相邻的点时,这些点需要是空的吗? – dbc 2014-10-18 18:46:09