谜题求解(关于算法)

[复制链接]
4016|12
 楼主| 木易洋 发表于 2009-7-16 19:33 | 显示全部楼层 |阅读模式
有4个人打算过桥,他们都在桥的某一端。我们有17分钟让他们全部到达桥的另一头。时间是晚上,他们只有一只手电筒。最多只能有两人同时过桥,并且必须携带手电筒。必须步行将手电筒带来带去,即扔来扔去是不行的。每个人走路的速度是不同的:甲过桥要1分钟,乙要2分钟,丙要5分钟,丁要10分钟。两个人一起走的速度等于其中较慢的人的速度。例如,如果让甲和丁一起过桥,当他们到达桥的另一端的时候,已经耗尽10分钟了。如果再由丁带回手电筒,一共20分钟就过去了,这样,任务就以失败告终。试问,何种方案可以完成任务?
zhaoyu2005 发表于 2009-7-17 08:21 | 显示全部楼层

这个题无解

最省时间的是由甲来回带手电筒,并且需两人同时过三回桥,这样最少需要19分钟,不考虑来回送手电筒就得17分钟,哪个计算机也算不出来,出题人没用脑子<br />其实这个题可以先这样考虑:<br />无论怎样,至少需要甲乙丙丁单独过桥的时间相加,这样就得18分钟了
wuljia 发表于 2009-7-17 08:36 | 显示全部楼层

他们都在桥的“某”一端,答案在这个“某”上?

  
gaohq 发表于 2009-7-17 08:40 | 显示全部楼层

这样出题有意义吗?

  
yewuyi 发表于 2009-7-17 08:42 | 显示全部楼层

~~

很简单,甲分别背着后面的三个人走就是了。。。
 楼主| 木易洋 发表于 2009-7-17 08:46 | 显示全部楼层

这是我在一本算法书上看到的

因为自己想不通所以才在这边问,如果没有意义人家为什么要出这样的题目?<br />虽然可能没解,但如果是像二楼说的那样,那不是人人都想得到,就真的没有讨论的意义了。如果说是三楼那位说的答案在那个“某”字上,是否有钻题目的空子的嫌疑啊<br /><br />楼上的更强悍
gusto 发表于 2009-7-17 11:33 | 显示全部楼层

很简单呀

<br />桥左&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;桥右&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;时间<br /><br />甲(1),乙(2),丙(5),丁(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br /><br />丙(5),丁(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;甲(1),乙(2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br /><br />甲(1),丙(5),丁(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;乙(2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br /><br />甲(1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;乙(2),丙(5),丁(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13<br /><br />甲(1),乙(2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;丙(5),丁(10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15<br /><br />--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;甲(1),乙(2),丙(5),丁(10)&nbsp;&nbsp;17<br /><br /><br />====<br />第一步后甲返回带回电筒,&nbsp;第三步后乙返回带回电筒。<br />总共&nbsp;17&nbsp;分钟。
ljm810010 发表于 2009-7-17 11:47 | 显示全部楼层

题目的关键为在答案,而是在意编程方法。

结构,函数,数组,递归,做好了,C基本过关了。
xwj 发表于 2009-7-17 12:38 | 显示全部楼层

关键是思想(智慧),能想到丙和丁一起过桥即为胜利

2楼是不动脑筋的典型(自以为动过了,然后停止思维)
t.jm 发表于 2009-7-17 12:56 | 显示全部楼层

简单:

a1,b2,c5,d10&nbsp;&nbsp;-----&nbsp;开始,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum&nbsp;=&nbsp;0!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c5,d10&nbsp;------&gt&nbsp;a1,b2,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum&nbsp;=&nbsp;2;<br />&nbsp;&nbsp;&nbsp;a1,c5,d10&nbsp;&lt------&nbsp;b2,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum&nbsp;=&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a1&nbsp;------&gt&nbsp;b2,c5,d10,&nbsp;&nbsp;&nbsp;&nbsp;sum&nbsp;=&nbsp;13;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a1&nbsp;,b2&nbsp;------&gt&nbsp;c5,d10,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum&nbsp;=&nbsp;15;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------&gt&nbsp;a1,b2,c5,d10,&nbsp;sum&nbsp;=&nbsp;17;<br />
 楼主| 木易洋 发表于 2009-7-17 19:20 | 显示全部楼层

受启发了

没想到答案其实这么简单,之前自己想的时候思维定势了,一直认为由甲带回手电筒是最节省时间的,只要一分钟,忘了说丙和丁一起过桥会比丙丁分开节省了5分钟,思维还是最重要的啊。
shalixi 发表于 2009-7-17 20:33 | 显示全部楼层

gusto不简单呀

  
quakegod 发表于 2009-7-19 01:05 | 显示全部楼层

此题解法当然是穷举或递归

但是要有限制条件,否则会进入死循环,比如甲过去,甲又回来了,甲又过去了,甲又回来了。<br /><br />比较明显的限制条件就是,必须两个人过去,一个人回来。直到全过完。<br /><br />递归调用看起来比较合适。<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

97

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部