[NOI2000] 瓷片项链
题目描述
原始部落用一种稀有的泥土烧制直径相同的圆瓷片并串成项链,串的时候沿瓷片的直径方向顺次连接,瓷片之间没有空隙也不重叠,一条项链至少由一个瓷片构成。
下图示出四片同样大小的瓷片串接所成的项链,其总长为单个瓷片直径的四倍。
每个烧制的瓷片厚度是一定的,直径 D D D 和所用泥土的体积 V V V 有以下关系:
D = { 0.3 V − V 0 V > V 0 0 V ≤ V 0 D = \begin{cases} 0.3\sqrt{V-V_0} & V > V_0 \cr 0 & V \le V_0 \end{cases} D={0.3V−V00V>V0V≤V0
其中
V
0
V_0
V0 为烧制每一片的损耗,单位与
V
V
V 相同。当用料小于等于
V
0
V_0
V0 时,不能烧制成瓷片。
例: $V_总 = 10,V_0 = 1
,
若
烧
制
成
一
片
瓷
片
,
,若烧制成一片瓷片,
,若烧制成一片瓷片, V = V_总= 10,D = 0.9 $。如果把泥土均分成
2
2
2 份,每份泥土的体积为 $V = \frac{V_总}{2} = 5 $,单个瓷片的直径为 $ D’ = 0.3 \times \sqrt{5-1} =0.6 $ ,串起来的总长为
1.2
1.2
1.2 。
给定了泥土的总体积和烧制单个瓷片的损耗,烧制的瓷片数不同,能够得到的项链总长度也不相同,请计算烧制多少个瓷片能使所得到的项链最长。
输入格式
共两行,每一行仅包含一个整数。
第一行的数字为泥土总体积 $ V_总$ ( $ 0 < V_总 < 60000 $ ),第二行为烧制单个瓷片的损耗 V 0 V_0 V0 ($ 0 < V_0 < 600 $)。
输出格式
共一行,一个整数。
该整数为能获得最长项链而烧制的瓷片数。如果不能烧制成瓷片或者最优解不唯一(存在两个或者两个以上方案均能获得最长项链),输出 0
。
样例 #1
样例输入 #1
48
7
样例输出 #1
3
样例 #2
样例输入 #2
8
5
样例输出 #2
1
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容