B3729 [信息与未来 2017] 龟兔赛跑

· · 题解

欢迎报名洛谷网校,期待和大家一起进步!

这是一道需要数学推导的试题。

根据题意,乌龟可以在兔子睡觉的时候跑出 t\times x 米。

接着,根据追及问题的模型,这一段路程需要兔子奔跑 \dfrac{t\times x}{y-x} 分钟的时间。

也就是说,当兔子正好跑了 S=\dfrac{t\times x}{y-x} \times y 米的时候,兔子正好追上乌龟。再之后,兔子就会跑在乌龟前方。

换而言之,当距离不超过 S 米的时候,乌龟一直在兔子前侧。因此,最后的答案就是 \dfrac{t\times x}{y-x} \times y。题目要求取整,因此把单独的乘以 y 放在分子上之后,只需做整数除法,无需考虑浮点运算。

参考代码(只保留关键部分):

cout << (t * x * y) / (y - x);