1樓:匿名使用者
執行結果如下:
帶羊到對岸
空手回本岸
帶狼到對岸
帶羊回本岸
帶菜到對岸
空手回本岸
帶羊到對岸
帶羊到對岸
空手回本岸
帶菜到對岸
帶羊回本岸
帶狼到對岸
空手回本岸
帶羊到對岸
以上是找出的所有解,共有兩個解。
程式如下:
#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)else }
printf("\n");
return;
} for (i = 0; i < istep; i++) }if (a[istep][1] != a[istep][3] && (a[istep][2] == a[istep][1] || a[istep][0] == a[istep][1]))
for (i = -1; i <= 2; i++)else if (a[istep][i] == a[istep][3]) }
} int main()
2樓:匿名使用者
先將羊帶過去,再自己返回,再帶白菜過去,將羊帶回,再將狼帶過去,再自己回來,再將羊帶過去
1位農夫帶了一隻羊,一頭狼,一筐菜過河,只有一條船一次只能帶人和一樣東西
第一趟人和羊,人單回 第二趟人和狼,人和羊一起回 第三趟人和菜,人單回 第四趟人和羊。先把羊運到對岸,人回來 再把狼運到對岸,羊和人一起回來 然後把菜運到對岸 最後把羊運過去!第一趟人和氧,人回 第二趟人和狼,人和羊回 第三趟人和菜,人回 第四趟人和羊 先把羊帶過去,再把狼帶過去,再把羊運回,再把菜...
船工要把一隻狗,一隻兔子和一筐青草用一條小船運到河對岸,這
狗會咬兔子,兔子會吃草。所以不能讓這兩個單獨存在。先把兔子運過河,再回來運狗過河,回程時把兔子帶回來放下,再把草運過河,然後再回來運兔子就行了。狗會咬兔子的,兔子會吃青草,這樣就把兔子先運到河邊再回來接狗,然後再帶兔子,嗯,再回到河岸,然後再把兔子放在青草過來,然後再回來接在回來接兔子。尼瑪,才一個...
一隻狼帶著一群羊,打敗一隻羊帶著一群狼
打個玩笑的比方吧。a.中國男足在朱先生的帶領下綿羊還是綿羊 在米先生的帶版領下,就算有運氣成分起權碼還有點狼的氣息。b.巴西男足在朱先生的帶領下狼也便綿羊 在像米先生這種級別的帶領下狼還是狼,而且是強大的狼。總結 a.雖然羊不會因為狼的帶領而變成狼,但起碼有狼的帶領還是勝過羊的帶領 b.狼在羊的帶領...