分享
 
 
 

修道士过河问题

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

设有m个野人,n个修道士,(m≤n)船上可坐c个人。

1. c=1,无解;

2. c=2,对较小的M,N有解,对于较大的M,N无解,比如m=n=4,c=2无解;

3. c=3,情况同上;

4. c>3,分情况讨论如下:

(1) m=n,

此时可以按照下面的方案设计(下面S表示野人savage,R表示修道士religious, B表示船boat, ||表示河)

方案一:

m S || (m-c)S || cS (m-c+1) S || (c-1) S (m-c+1)S || (c-1)S (m-c+2)S || (c-2)S

m R || => m R || => m R || => (m-c+1)R || (c-1)R => (m-c+2)R || (c-2)R

B || || B B || || B B ||

于是又回到了开始时候的情况,两岸的S,R相等且船在左岸,已经有c-2个S和c-2个R过了河。依次做下去,最终所有的人都会过河;

还有一种方案:

方案二:

mS || (m-[c/2])S || [c/2]S (m-[c/2]+1)S || ([c/2]-1)S

mR || => (m-[c/2])R || [c/2]R => (m-[c/2]+1)R || ([c/2]-1)R

B || || B B ||

最终也会到两岸S,R相等而船在左岸的情况,有[c/2]-1个S和R过了河。

当c为偶数时,方案一和方案二的过河速度是一样的;当c为奇数时,方案一要比方案二快。

当m=n时,一些特例需要考虑:

a. k≥m+n,让所有人一次全部过河;

b. k≥m, 用上面的方案一;

(2)n>m时,

①n=m+1,又分以下两种情况:

(a) c为偶数,方案如下:

方案三:

mS || (m-c)S || cS (m-c+1)S || (c-1)S (m-c+1)S || (c-1)S (m-c+1)S || (c-1)S

nR || => nR || => nR || => (n-c)R || cR => (n-c+1)R || (c-1)R

B || || B B || || B B ||

令m'=m-c+1,n'=n-c+1,则又重复了n'=m'+1的情况;

(b) c为奇数,设c=2h+1,显然a的方案三也可用,另外还有以下方案:

方案四

mS || (m-h)S || hS (m-h)S || hS

nR || => (n-h-1)R || (h+1)R => (n-h)R || hR

B || || B B ||

令m'=m-h,n'=n-h,又回到了n'=m'+1的情况。按照这个方案每次h个S和h+1个R过河,然后1个R回来。

当c为奇数的时候a,b两种方案的过河速度一样。

②n≥m+2时:

(a) c为奇数时,可以用n=m+1的情况b的方案四。

(b) c为偶数时,设c=2h,可以每单次过h-1个S,h+1个R,然后回来一个R,每双次过h个S,h个R,回来一个R.具体如下所示:

方案五:

mS || (m-h+1)S || (h-1)S (m-h+1)S || (h-1)S (m-2h+1)S || (2h-1)S (m-2h+1)S || (2h-1)S

nR || => (n-h-1)R || (h+1)R => (n-h)R || hR => (n-2h)R || 2hR => (n-2h+1)R || (2h-1)R

B || || B B || || B B ||

令m'=m-2h+1, n'=n-2h+1,重复上述过程。

算法设计的总思路是每次过河的人尽可能地多,回来的人尽可能地少,当n>m,c≥2的时候总是有解。

上述的算法已经说的很清楚了,程序你应该可以自己写出来吧。

这个问题是NOI复赛考过的题目,题目不难,但是要注意讨论全面。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有