用程序实现:找出33人鬼过河的正确路径。(语言不限)

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:46:18
人鬼过河:
河的一边有三个人和三个鬼,河中有一小船,每次最多能乘坐2个人或鬼,而且至少要有一个人或鬼船才能行驶。请设计一种算法,把人和鬼都送到对岸。注:不论是在河边、船上,如果人鬼数量相同,则鬼和人能和谐相处,鬼不吃人,否则,鬼吃掉人。要求算法能给出整个运送过程,包括每次船行驶的方向(是驶向对岸还是返回),船上的人和鬼数量。

有分奖励,如果写的好的话。我把我的分全给你了,虽然不多
多谢!

鬼,1,2,3
人,一.二.三
第一步:先,鬼1,人一,过河.
第二步:人一回,
第三步:鬼2,3,过河
(这样三个鬼过河了,三个人在一起还没过河)
第四步:鬼1带船回到人的那一边,
第五步:人1,人2,过河
第六步:人1,鬼2同时带船过河.
第七步:人1,人3同时过河.
(这时,人全部过河了,和人一起的只有一个鬼3)
第八步:鬼3带船回.
(这时,三个人全过了河,而三个鬼和船在一边)
第九步:鬼1,2过河
第十步:鬼1回
第十一步:鬼1,鬼3过河
(完成)

我先疑惑一下。。
不是说河边人鬼数不相同不行吗?
那上面那个人的第二步不就成了3鬼2人了啊~~~
请解答一下。。。

有毛病? 注:不论是在河边、船上,如果人鬼数量相同,则鬼和人能和谐相处 第一次一人一鬼 第2次1人一鬼 最后一人一鬼

一楼的正确``我就不抄了`