求教 关于移动水果的算法
c语言吧
全部回复
仅看楼主
level 5
wyc890618 楼主
有12个盒子放成一排.左右边的黑格都装有水果,一共有五个萍果(P)和五个梨子(G).中间两个盒子是空的. 你可以将水果移动到空盒子内,但移动的水果必须是相临的两个一起移动.请问要将所有萍果移动到左边,梨子移动到右边,写出最优的步骤?(注,萍果和梨的位置由用户输入) ■■■■■口口■■■■■ P G P G G G P P G P 本人关于算法毫无思路,请各位赐教
2006年12月22日 13点12分 1
level 5
wyc890618 楼主
再来顶
2006年12月23日 01点12分 2
level 1
■■■■■■■■■■口口P G P G G G P G P P ■■■■口口■■■■■■ P G P G P G P P G G ■■■■■■■口口■■■ P G P G G P P P G G■■■口口■■■■■■■P G P P P G G P G G■■■■■■■■■口口■P P G G P P P G G G■■■■■口口■■■■■P P P P P G G G G G有点麻烦.
2006年12月23日 04点12分 3
level 5
wyc890618 楼主
不是说 人怎么做 是怎么叫计算机这么做而且是通解
2006年12月23日 06点12分 4
level 0
可以模仿汉诺塔问题的思路来写算法
2006年12月23日 08点12分 5
level 5
wyc890618 楼主
说清楚些阿
2006年12月23日 13点12分 6
level 0
我可以给你提供一个思路:这个题目是典型的广度排序。(不是简单排序,而象是从一个结点向下纵向扩展成几个结点,这几个结点的每个结点又向下扩展成几个结点.如此一直扩展下去.直到满足题目的条件)觉得可以用外储来储存结点的数据,每向下扩展一次就都读取一次外储数据并保存新的数据.估计数据大小最多就几MB.
2006年12月23日 13点12分 7
1