luogu#P13244. [GCJ 2014 Qualification] Cookie Clicker Alpha
[GCJ 2014 Qualification] Cookie Clicker Alpha
背景
Cookie Clicker 是 Orteil 开发的一款 Javascript 游戏,玩家通过点击一个巨大的曲奇图案来获得曲奇。点击巨型曲奇会获得曲奇,可以用这些曲奇购买建筑物,而这些建筑物又会帮助玩家获得更多曲奇。和本题一样,这款游戏非常专注于曲奇。不过本题只是借鉴了类似的思路,不要求你玩过 Cookie Clicker。请现在不要去玩这款游戏:否则你可能很久都回不来。
Cookie Clicker 由 Orteil 创作。Orteil 并未参与 Google Code Jam,也未对其进行背书。
题目描述
在本题中,你一开始拥有 个曲奇。你以每秒 个曲奇的速度获得曲奇,方式是点击巨型曲奇。只要你拥有至少 个曲奇,就可以购买一个曲奇农场。每次购买曲奇农场时,你需要花费 个曲奇,并且你的曲奇产量每秒提升 个曲奇。
一旦你拥有 个未用于购买农场的曲奇,你就算获胜!请计算在最优策略下,你需要多长时间才能获胜。
假设 ,,。最优策略如下:
- 你从 个曲奇开始,产量为每秒 个曲奇。
- 秒后,你将拥有 个曲奇,可以购买一个产量为 曲奇/秒的农场。
- 购买农场后,你的曲奇数变为 ,总产量变为每秒 个曲奇。
- 下一个农场需要 个曲奇,你大约在 秒后可以购买。
- 购买第二个农场后,你的曲奇数归零,总产量变为每秒 个曲奇。
- 再买一个农场需要 个曲奇,你在 秒后可以购买。
- 购买第三个农场后,你的曲奇数归零,总产量变为每秒 个曲奇。
- 再买一个农场仍需 曲奇,但其实此时不买更优:直接等待直到拥有 个曲奇,这需要大约 秒。
总耗时: 秒。
注意你获得曲奇是连续的:比如游戏开始 秒后你有 个曲奇, 秒后你有 个曲奇。
输入格式
输入的第一行包含一个整数 ,表示测试用例数量。接下来 行,每行包含三个用空格分隔的实数:、 和 ,含义如上文所述。
、 和 都至少有一位整数,后跟小数点和 到 位小数。不会有前导零。
输出格式
对于每组测试用例,输出一行 "Case #: ",其中 为测试用例编号(从 开始), 为获得 个美味曲奇所需的最短秒数。
建议将 输出到 位小数,但不是强制要求。如果 的绝对误差或相对误差在 以内,则视为正确。
4
30.0 1.0 2.0
30.0 2.0 100.0
30.50000 3.14159 1999.19990
500.0 4.0 2000.0
Case #1: 1.0000000
Case #2: 39.1666667
Case #3: 63.9680013
Case #4: 526.1904762
提示
数据范围
- 。
小数据集(8 分)
- 时间限制:
603 秒。 - 。
- 。
- 。
大数据集(11 分)
- 时间限制:
1205 秒。 - 。
- 。
- 。
翻译由 GPT4.1 完成。