QOJ.ac

QOJ

حد الوقت: 5 s - 10 s حد الذاكرة: 1024 MB مجموع النقاط: 19

#5933. Cookie Clicker Alpha

الإحصائيات

简介

Cookie Clicker 是 Orteil 开发的一款 Javascript 游戏,玩家通过点击一个巨大的饼干图片来获取饼干。玩家可以消耗饼干购买建筑,这些建筑能帮助玩家获得更多的饼干。与本题类似,该游戏非常注重饼干的积累。本题的思路与之相似,但并不要求你玩过 Cookie Clicker。请不要现在去玩它:你可能很久都回不来了。

题目描述

在本题中,你初始拥有 0 个饼干。通过点击巨大的饼干,你每秒可以获得 2 个饼干。任何时候,只要你拥有至少 C 个饼干,就可以购买一个饼干农场。每购买一个饼干农场,需要消耗 C 个饼干,并使你每秒额外获得 F 个饼干。

一旦你拥有了 X 个未用于购买农场的饼干,你就赢了!请计算在采取最优策略的情况下,你需要多长时间才能获胜。

样例

假设 C=500.0,F=4.0,X=2000.0。以下是采取最优策略的过程:

  1. 你初始拥有 0 个饼干,但每秒产生 2 个饼干。
  2. 经过 250 秒后,你将拥有 C=500 个饼干,可以购买一个每秒产生 F=4 个饼干的农场。
  3. 购买农场后,你拥有 0 个饼干,总饼干产量为每秒 6 个。
  4. 下一个农场仍需 500 个饼干,你可以在约 83.3333333 秒后买下它。
  5. 购买第二个农场后,你拥有 0 个饼干,总饼干产量为每秒 10 个。
  6. 再下一个农场仍需 500 个饼干,你可以在 50 秒后买下它。
  7. 购买第三个农场后,你拥有 0 个饼干,总饼干产量为每秒 14 个。
  8. 再买一个农场仍需 500 个饼干,但实际上此时不买农场更划算:你可以直接等待直到拥有 X=2000 个饼干,这需要约 142.8571429 秒。

总时间:250 + 83.3333333 + 50 + 142.8571429 = 526.1904762 秒。

注意,饼干是连续获得的:游戏开始 0.1 秒后你将拥有 0.2 个饼干,游戏开始 $\pi$ 秒后你将拥有 $2\pi$ 个饼干。

输入格式

第一行包含测试用例的数量 T。接下来有 T 行,每行包含三个空格分隔的实数:CFX,其含义如题目描述所述。

CFX 均由至少 1 位数字、1 个小数点以及 1 到 5 位小数组成。没有前导零。

输出格式

对于每个测试用例,输出一行 "Case #x: y",其中 x 是测试用例编号(从 1 开始),y 是获得 X 个美味饼干所需的最短时间(秒)。

建议将 y 输出到小数点后 7 位,但这并非强制要求。如果 y 与正确答案的绝对误差或相对误差在 $10^{-6}$ 以内,则视为正确。有关误差的定义及可接受的实数格式,请参阅 FAQ

数据范围

$1 \le T \le 100$。

小数据

$1 \le C \le 500$ $1 \le F \le 4$ $1 \le X \le 2000$

大数据

$1 \le C \le 10000$ $1 \le F \le 100$ $1 \le X \le 100000$

样例

输入格式 1

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

输出格式 1

Case #1: 1.0000000
Case #2: 39.1666667
Case #3: 63.9680013
Case #4: 526.1904762

说明

Cookie Clicker 由 Orteil 创建。Orteil 不认可且未参与 Google Code Jam。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.