农夫过河问题 c++程序

一个农夫带着—只狼、一只羊和—棵白菜,身处河的南岸。他要把这
些东西全部运到北岸。他面前只有一条小船,船只能容下他和—件物
品,另外只有农夫才能撑船。如果农夫在场,则狼不能吃羊,羊不能
吃白菜,否则狼会吃羊,羊会吃白菜,所以农夫不能留下羊和白菜自
己离开,也不能留下狼和羊自己离开,而狼不吃白菜。请求出农夫将
所有的东西运过河的方案

涉及深度优先算法,看看这篇文章,用队列实现的
http://www.cnblogs.com/yucong/archive/2012/05/13/2497907.html

这里有完整的答案,拿好不谢

http://wenku.baidu.com/link?url=7rtU2Vs08ursdXdupaK06QTjnAcPRdE9UqEOIdBHFk6cmpNdNriBUOK8GL4QMh6ND_q9Q4nbSBQ3vAPPeCLOjWbzjLBEaiArEw-F_ZZ6YDu

挖的