一个很好的题目
3.有N个传教士和N个野人来到河边准备渡河,河岸有一条船,每次至多可供k人乘渡。问传教士为了安全起见,应如何规划摆渡方案,使得任何时刻,河两岸以及船上的野人数目总是不超过传教士的数目(在传教士的数目大于0时)。即求解传教士和野人从左岸全部摆渡到右岸的过程中,任何时刻满足M(传教士数)≥C(野人数)或M=0和0<M+C≤K的摆渡方案。当N=3,k=2时,程序输出如下:
Lelt Right Lelt Right
M C M C M C M C
3 3 0 0 -->0 2--> 3 1 0 2
3 2 0 1 <--0 1<-- 3 1 0 2
3 2 0 1 -->0 2--> 3 0 0 3
3 1 0 2 <--0 1<-- 3 0 0 3
3 1 0 2 -->2 0--> 1 1 2 2
2 2 1 1 <--1 1<-- 1 1 2 2
2 2 1 1 -->2 0--> 0 2 3 1
0 3 3 0 <--0 1<-- 0 2 3 1
0 3 3 0 -->0 2--> 0 1 3 2
0 2 3 1 <--0 1<-- 0 1 3 2
0 2 3 1 -->0 2--> 0 0 3 3
谁有比较容易用程序实现的算法?谢谢!!!!