尼古拉斯·埃弗戈 2021-05-20 18:49 采纳率: 100%
浏览 232
已采纳

小白求救,大佬救命,农夫过河问题c++解决

一个农夫带着一只狼、一只羊和一棵白菜,身处河的南岸。他要把这些东西全部运到北岸。遗憾的是他只有一只小船,小船只能容下他和一件物品。这里只能是农夫来撑船。同时因为狼吃羊,而羊吃白菜,所以农夫不能留下羊和狼或者羊和白菜单独在河的一边,自己离开。好在狼属于肉食动物,不吃白菜。农夫怎样才能把所有的东西安全运过河呢? 为了表示每个物品的位置,采用二进制位来区分南岸和北岸,0表示在南岸,1表示在北岸。用四个二进制位XXXX分别表示农夫、狼、菜和羊四个物品所在的位置。例如1110表示农夫、狼和菜在北岸,菜在南岸。农夫过河问题的初始状态为0000,结束状态为1111。

输入格式:

无输入

输出格式:

输出农夫移动物品的中间状态的逆序

输出样例:

15 6 14 2 11 1 9 0 
  • 写回答

1条回答 默认 最新

报告相同问题?