早教吧作业答案频道 -->其他-->
农夫过河农夫要带狼、羊、草过河,但船每次只能容纳农夫和一样东西,如果农夫不在狼会吃羊,羊会吃草.求算法.
题目详情
农夫过河
农夫要带狼、羊、草过河,但船每次只能容纳农夫和一样东西,如果农夫不在狼会吃羊,羊会吃草.求算法.
农夫要带狼、羊、草过河,但船每次只能容纳农夫和一样东西,如果农夫不在狼会吃羊,羊会吃草.求算法.
▼优质解答
答案和解析
运行结果如下:
带羊到对岸
空手回本岸
带狼到对岸
带羊回本岸
带菜到对岸
空手回本岸
带羊到对岸
带羊到对岸
空手回本岸
带菜到对岸
带羊回本岸
带狼到对岸
空手回本岸
带羊到对岸
以上是找出的所有解,共有两个解.
程序如下:
#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
带羊到对岸
空手回本岸
带狼到对岸
带羊回本岸
带菜到对岸
空手回本岸
带羊到对岸
带羊到对岸
空手回本岸
带菜到对岸
带羊回本岸
带狼到对岸
空手回本岸
带羊到对岸
以上是找出的所有解,共有两个解.
程序如下:
#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
看了 农夫过河农夫要带狼、羊、草过...的网友还看了以下:
求函数的值域问题,求解求函数y=(3x-1)/(x+2),其中x大于等于0.的值域.利用几何法我知 2020-04-27 …
齐次微分方程特解怎么求?我只知道非齐次的特解,和齐次的通解,但是齐次微分方程特解怎么求啊?比如:y 2020-05-13 …
英语作文有要求的老师要求weihua和你一起讨论周末度假区哪里了一下是要用英文的要求(以上不用写) 2020-05-15 …
用maple求t和r之间的关系和关系图能不能用maple求出r和t之间的关系呢,但是有一点很要命的 2020-06-03 …
求函数的极大值极小值时,需要先求出函数的全部驻点和不可导点,但是如何求函数的不可导点呢?本人不是很 2020-06-06 …
在如图所示的轻质支架上的C点挂一重一百牛的物体,已知AB=40厘米,AC=60厘米,BC=80厘米 2020-06-11 …
求问,如何用计数原理证明:A(m,n)+mA[(m-1),n]=A[m,(n+1)]m和n的位置分 2020-06-12 …
求解方程式,二元一次x+y=a+bax+by=2ab求x和ya和b可以带在解里我用带入法和消解法都 2020-07-19 …
求极限的格式我想请问下求数列和函数极限的格式是怎么样的,我知道怎么求但是我不会用啊,听说那种格式是 2020-07-20 …
如何在EXCEL中将在同一列的数字(料号)不变,只将令一列但不相等之行的值求和比如:以下表中十码以上 2020-11-13 …