农夫过河问题
代码说明:
农夫过河问题,用C++做 一个农夫带着—只狼、一只羊和—棵白菜,身处河的南岸。他要把这些东西全部运到北岸。他面前只有一条小船,船只能容下他和—件物品,另外只有农夫才能撑船。如果农夫在场,则狼不能吃羊,羊不能吃白菜,否则狼会吃羊,羊会吃白菜,所以农夫不能留下羊和白菜自己离开,也不能留下狼和羊自己离开,而狼不吃白菜。请求出农夫将所有的东西运过河的方案。 实现上述求解的搜索过程可以采用两种不同的策略:一种广度优先搜索,另一种深度优先搜索。这里介绍在广度优先搜索方法中采用的数据结构设计。 用状态表,程序应在屏幕上得到如表3所示的结果。 表3 测试结果 步骤 状态 南岸 北岸 0 农夫 狼 羊 白菜 1 狼 白菜 农夫 羊 2 狼 农夫 白菜 羊 3 农夫 狼 羊 白菜 4 羊 农夫 狼 白菜 5 农夫 羊 狼 白菜 6 农夫 狼 羊 白菜
下载说明:请别用迅雷下载,失败请重下,重下不扣分!


