关于三个传教士和熊过河的有关问题,求大神啊

关于三个传教士和熊过河的问题,求大神啊啊啊啊啊啊啊
有3个传教士,1个黑熊,2个棕熊要过河
其中传教士和黑熊可以过河,但必须保证
河的两岸传教士的人数必须大于熊的数目
不然人会有危险,请问大神们,这个问题要
怎么实现啊,求思路,求算法啊啊啊啊啊啊 
C语言 算法

------解决方案--------------------
每次能过多少个人和熊。。还有,只有黑熊能过河?
------解决方案--------------------
搜索,主要是如何表示状态空间吧。
可以用(i,j,k)表示在初始岸的状态,因为另一岸就是(3-i,1-j,2-k)的情况了。
具体转移枚举的就是船从初始岸到对岸再回来,不过你的问题描述的太不清楚就还是你自己做吧。