某人有M个相同的蛋,有一天,它想试验一下蛋的硬度。他是通过不断从一座N层楼高的楼上往下扔蛋来确定蛋的硬度X。
给定M和N,求出最坏情况下,要保证试验成功,需要扔蛋的最少次数。
f(i,j)表示i个蛋在j层楼上最坏情况下确定x需要的最少次数,
f(i,j) = min {max{f(i-1,w-1),f(i,j-w)}+1} w是层数
w=1..j -----+---- ----+--- +-- 在第w楼扔一次蛋
| +-- 如果没碎,要测w+1..j共j-w层
+-- 如果碎了,要测1..w-1共w-1层
f(i,0) = 0
扔蛋的最少次数
最新推荐文章于 2024-03-19 00:00:00 发布