帮助的算法

M

manu2010

Guest
大家好,
请帮助我这件事:

假设给定两个相同的玻璃球和正建设的故事。我们的目标是找出最地板因此
, 如果你从这个楼抛出的球,球将中断。规则是:

这两个球打破在同一楼层。
如果球在发言
, 我休息
, 也在地板休息i 1。

我必须找到至少在地板球与球的最低人数可能突破罚球。

谢谢

 
从我能收集到你所说的,最快的方法找到楼
, 将打破球是所有的地板二进制搜索。

因此
, 下调至中间层n的球/ 2,如果它打破下降
, 由在它的中间层
, 一个和地面n / 2个-无/ 4,或者如果它不会下降
, 从下一个发言之间的中高层n / 2个 ñ / 4和保持这样的重复。

我不是100%肯定这就是你了
, 但之后。茂宜

 
是的,我希望这样的事情。但在某些代码来源的问题进行了解释。

谢谢

 
我的水晶球告诉我
, 你有功课由于周一和你不想花周末写愚蠢的代码!

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="眨眼" border="0" />
 

, 我不会只为你写的代码。

我建议你为'二进制搜索'在哪所使用的语言
, 例如谷歌。

但我仍然不知道这是什么问题。
你说过你有2个球,或许你只有2个球你可能无法超越二进制搜索导向可以打破他们之前找到apropriate发言。

或许你需要做的(我不知道你的问题的规则)开始在二楼和辍学一球,如果不打破,拖放到4层下降的第一球就等一球每2楼(2n)的,直到它打破,然后去掉了在该层-1(为2n -1,其中n是尝试的第一个球打破了第二球)。因此
, 如果第二球打破你知道这是地板,如果你不知道这是上面的第一球打破之一。

希望帮助(和有意义)

茂宜

 

Welcome to EDABoard.com

Sponsor

Back
Top