早教吧 育儿知识 作业答案 考试题库 百科 知识分享

农夫过河农夫要带狼、羊、草过河,但船每次只能容纳农夫和一样东西,如果农夫不在狼会吃羊,羊会吃草.求算法.

题目详情
农夫过河
农夫要带狼、羊、草过河,但船每次只能容纳农夫和一样东西,如果农夫不在狼会吃羊,羊会吃草.求算法.
▼优质解答
答案和解析
运行结果如下:
带羊到对岸
空手回本岸
带狼到对岸
带羊回本岸
带菜到对岸
空手回本岸
带羊到对岸
带羊到对岸
空手回本岸
带菜到对岸
带羊回本岸
带狼到对岸
空手回本岸
带羊到对岸
以上是找出的所有解,共有两个解.
程序如下:
#include
#include
#include
#define MAX_STEP 20
//index:0 - 狼,1-羊,2-菜,3-农夫,value:0-本岸,1-对岸
int a[MAX_STEP][4];
int b[MAX_STEP];
char *name[] =
{
"空手",
"带狼",
"带羊",
"带菜"
};
void search(int iStep)
{
int i;
if (a[iStep][0] + a[iStep][1] + a[iStep][2] + a[iStep][3] == 4)
{
for (i = 0; i < iStep; i++)
{
if (a[i][3] == 0)
{
printf("%s到对岸\n",name[b[i] + 1]);
}
else
{
printf("%s回本岸\n",name[b[i] + 1]);
}
}
printf("\n");
return;
}
for (i = 0; i < iStep; i++)
{
if (memcmp(a[i],a[iStep],sizeof(a[i])) == 0)
{
return;
}
}
if (a[iStep][1] != a[iStep][3] && (a[iStep][2] == a[iStep][1] || a[iStep][0] == a[iStep][1]))
{
return;
}
for (i = -1; i
看了 农夫过河农夫要带狼、羊、草过...的网友还看了以下:

一、造句欣欣向荣:1、用来比喻事业的.2、用来形容花草树木的.一尘不染:用来比喻人的品质的.二、歇  2020-04-07 …

关于公函的回复?但是平时不涉及到公函.所以不会做.根据下面这份函的内容,起草一份答复此函的复函(2  2020-05-16 …

老师给了一首小诗,要我们写一篇议论文,提供一下素材,花把草揽在身边草把花捧在胸前花摇曳的是容貌草散  2020-06-21 …

揣摩加点词语的表达效果:1.小草偷偷地从土里钻(加点钻)出来,嫩嫩的,绿绿的.(“偷偷”和“钻”写  2020-06-21 …

对“小草偷偷地从土里钻出来”一句所用修辞手法分析最准确的一项是()A.夸张,极力形容小草不屈不挠,  2020-06-30 …

读了这篇文章后你有什么想法?蠢狼有一只狼,住在狼窝里.这狼窝从不打扫,也不整修,又肮脏又破烂,眼看  2020-07-03 …

中华人民共和国野生动物保护法有狼吗?我希望狼不是保护动物,因为狼是害兽.  2020-07-07 …

对“小草偷偷地从土里钻出来”一句所用修辞手法分析最准确的一项是()A.夸张,极力形容小草不屈不挠,  2020-07-11 …

呼伦贝尔草原上由于一条食物链的破坏而导致草场退化速度加快,这条食物链是()A.草→野兔→狼B.草→牛  2020-11-04 …

跪求《一场特殊的审判》杨晓红的阅读答案1.这篇文章讲述的主要内容是?2.狼、树、大山、小河控告的内容  2020-12-05 …