标签:
3.5 有一农夫带一条狼,一只羊和一筐菜欲从河的左岸乘船到右岸,但受下列条件限制:(1)船太小,农夫每次只能带一样东西过河;(2)如果没有农夫看管,则狼要吃羊,羊要吃菜。请设计一个过河方案,是的农夫,狼,羊都能不受损失地过河,画出相应的状态空间图。
提示: (1)用四元组(农夫,狼,羊,菜)表示状态,其中每个元素都为0或1,用0表示在左岸,用1表示在右岸。
(2)把每次过河的一种安排作为一种操作,每次过河都必须有农夫,因为只有他可以划船。
解:四元组S=(S1,S2,S3,S4)=(农夫,狼,羊,菜)表示状态
其中,S1表示:(1)当农夫的位置=0时农夫没过河;(2)当农夫的位置=1时农夫已过河。
S2表示:(1)当狼的位置=0时狼没过河;(2)当狼的位置=1时狼已过河。
S3表示:(1)当羊的位置=0时羊没过河;(2)当羊的位置=1时羊已过河。
S4表示:(1)当菜的位置=0时菜没过河;(2)当菜的位置=1时菜已过河。
满足题意的过河方案为:
方案一: (1)农夫和羊从左岸到右岸,留下羊,农夫单独返回左岸;
(2)农夫和菜从左岸到右岸,留下菜,农夫带上羊返回左岸;
(3)农夫和狼从左岸到右岸,留下狼,农夫单独返回左岸;
(4)农夫和羊从左岸到右岸。
相应状态图:(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,0,1,1)->(0,0,0,1)->(1,1,0,0)->(0,1,0,1)->(1,1,1,1).
方案二:(1)农夫和羊从左岸到右岸,留下羊,农夫单独返回左岸;
(2)农夫和狼从左岸到右岸,留下狼,农夫带上羊返回左岸;
(3)农夫和菜从左岸到右岸,留下菜,农夫单独返回左岸;
(4)农夫和羊从左岸到右岸。
相应状态图:(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,1,1,0)->(0,1,0,0)->(1,0,0,1)->(0,1,0,1)->(1,1,1,1).
标签:
原文地址:http://www.cnblogs.com/group-tangling/p/4342149.html