问题: 狼羊菜过河
一个人在河边,带着一匹狼,一只羊和一棵卷心菜.他需要用船将这三样东西
运到对岸,然而,这艘船的空间有限,只容得下他自己和另一样东西(或狼或羊或
卷心菜).若他不在场看管,狼就会吃羊,羊就会吃卷心菜.此人如何才能把这三个
"乘客"都送到对岸?
解答:
使用 a,b,c,d 分别表示 人,狼,羊,菜.
那么, 若 a 不在, bc 不能同时在一起且 cd 也不能在一起.
(abcd,) 表示最初的状态. "逗号" 左边表示未过河, 右边表示过河
(,abcd) 是我们要得到的状态.
则,我们的状态变化如下图:
(abcd,)
(bd,ac)
(abd,c)
(d,abc) (b,acd)
(c,abd)
(ac,bd)