#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STEP 20
//index:0 - 狼,1-羊,2-菜,3-農(nóng)夫,value:0-本岸,1-對(duì)岸
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到對(duì)岸\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 <= 2; i++)
{
b[iStep] = i;
memcpy(a[iStep + 1],a[iStep],sizeof(a[iStep + 1]));
a[iStep + 1][3] = 1 - a[iStep + 1][3];
if (i == -1)
{
search(iStep + 1);
}
else if (a[iStep][i] == a[iStep][3])
{
a[iStep + 1][i] = a[iStep + 1][3];
search(iStep + 1);
}
}
}
int main()
{
search(0);
return 0;
}
結(jié)果:
帶羊到對(duì)岸
空手回本岸
帶狼到對(duì)岸
帶羊回本岸
帶菜到對(duì)岸
空手回本岸
帶羊到對(duì)岸
帶羊到對(duì)岸
空手回本岸
帶菜到對(duì)岸
帶羊回本岸
帶狼到對(duì)岸
空手回本岸
帶羊到對(duì)岸
Press any key to continue
加我的qq號(hào) 476758573
我?guī)湍阍敿?xì)解釋再給你流程圖啊
雖然時(shí)間過(guò)了 但希望有用啊
另外,站長(zhǎng)團(tuán)上有產(chǎn)品團(tuán)購(gòu),便宜有保證
求程序代碼,農(nóng)夫、狼、羊和白菜過(guò)河問(wèn)題.
求程序代碼,農(nóng)夫、狼、羊和白菜過(guò)河問(wèn)題.
農(nóng)夫、狼、羊和白菜過(guò)河問(wèn)題.一個(gè)農(nóng)夫帶著一只狼,一只羊和一些菜過(guò)河,河邊只有一條木船,由于船太小,只能裝下農(nóng)夫和他的一樣?xùn)|西,在無(wú)人看管的情況下.狼要吃羊,羊要吃菜,請(qǐng)問(wèn)農(nóng)夫如何菜能使三樣?xùn)|西平安過(guò)河?
程序設(shè)計(jì)課要求寫(xiě)出其程序代碼?
農(nóng)夫、狼、羊和白菜過(guò)河問(wèn)題.一個(gè)農(nóng)夫帶著一只狼,一只羊和一些菜過(guò)河,河邊只有一條木船,由于船太小,只能裝下農(nóng)夫和他的一樣?xùn)|西,在無(wú)人看管的情況下.狼要吃羊,羊要吃菜,請(qǐng)問(wèn)農(nóng)夫如何菜能使三樣?xùn)|西平安過(guò)河?
程序設(shè)計(jì)課要求寫(xiě)出其程序代碼?
其他人氣:552 ℃時(shí)間:2019-12-24 08:25:22
優(yōu)質(zhì)解答
我來(lái)回答
類(lèi)似推薦
- 狼羊白菜過(guò)河問(wèn)題 圖論
- 農(nóng)夫要將一只狼,一只羊,一棵白菜帶過(guò)河,一次只能帶一樣?xùn)|西,如果帶狼,羊就會(huì)吃了白菜,應(yīng)該怎么帶呢
- 狼吃羊樣吃白菜這是大家都知道的,但是一個(gè)農(nóng)夫要運(yùn)狼,羊,白菜這三樣過(guò)河要怎么運(yùn)?
- 農(nóng)民不在時(shí),狼會(huì)吃羊,羊會(huì)吃白菜,農(nóng)民如何過(guò)河?(列表解答)
- 一個(gè)農(nóng)夫一條船 他要帶狼羊白菜過(guò)河 一次只能帶一樣過(guò)河怎么帶!
- 桃樹(shù)的五分之三和梨樹(shù)的九分之四相等,梨樹(shù)比桃樹(shù)多42棵,兩棵樹(shù)各多少棵
- 諸兒競(jìng)走取之,唯戎不動(dòng).意思
- 28克的銅與足量的濃硝酸充分反應(yīng)后,求1.能制的標(biāo)準(zhǔn)狀況下二氧化氮多少升?2.被還原的硝酸的物質(zhì)的量是
- 學(xué)如逆水行舟,不進(jìn)則退.用英文寫(xiě)?
- commodity
- 某型號(hào)的熱得快接到220v,5a,10min電流所做的功.若接到11v的電源,同樣時(shí)間,做的功
- 有一種小油壺,最多能裝汽油3/2升,要裝35升汽油,至少需要_個(gè)這樣的油壺.
猜你喜歡
- 1把一根木材鋸成6段,共用了12分鐘,平均據(jù)下一段的時(shí)間是12分鐘的幾分之幾?
- 21.(x-y)^2-4(x-y+3)
- 3震級(jí)與地震烈度的區(qū)別
- 4求一篇80個(gè)單詞左右的英語(yǔ)作文 題目最好是介紹我的房間
- 5what a funny story it is(改成同義句)
- 6there are towers a____the ehds of the bridge.
- 7次氯酸鈣次氯酸鈉本身是否具有漂白性
- 8sally is looking at the the plane (和朋友一起)
- 9算式中間一條豎線是什么意思?
- 10一只青蛙在井底.井深10米,青蛙白天往上爬3米,晚上向下滑2米,問(wèn)青蛙幾天爬上來(lái)?
- 11《誰(shuí)與我同行》閱讀短文答案
- 12除了又香又甜這個(gè)詞語(yǔ),還有沒(méi)有別的又什么,回答的時(shí)候就給我弄3個(gè)就可以了.