QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#258. 资源

Statistics

在这个游戏中,玩家需要获取资源来建造建筑物。铁和煤是来自不同矿山的原材料,也可以精炼成钢。矿山有不同的等级,可以通过升级来提高生产率。每个矿山每小时精确生产 10 次资源,即每六分钟生产一次。一级矿山每小时生产 10 个单位,即每六分钟生产 1 个单位;十级矿山每小时生产 100 个单位,即每六分钟生产 10 个单位。矿山每提升一级,每小时产量增加 10 个单位,因此三级矿山每小时生产 30 个单位,八级矿山每小时生产 80 个单位。矿山的最高等级为 10 级;矿山不能升级超过 10 级。

精炼钢由原材料铁和煤制成。1 个钢需要 3 个铁和 1 个煤。转换为钢不需要时间,并且可以在资源可用时立即完成。

当矿山正在升级时,它不生产任何资源。升级矿山需要时间,并且每种类型的矿山在同一时间只能有一个进行升级,例如铁矿和煤矿可以同时升级,但两个铁矿不能同时升级。一旦升级完成,同类型的另一个矿山可以立即开始升级。

矿山升级及所需时间:

起始等级 结束等级 升级时间
1 2 12 分钟
2 3 30 分钟
3 4 1 小时
4 5 2 小时
5 6 4 小时
6 7 8 小时
7 8 12 小时
8 9 16 小时
9 10 20 小时
10 N/A N/A

你需要确定每个建造请求最早可以开始的时间。建造请求必须按照接收到的顺序进行处理,并按该顺序给予优先级。如果有 $A$、$B$ 和 $C$ 的请求(按此顺序接收),则建造时间必须满足 $A \leq B \leq C$。最重要的是 $A$ 尽可能早地开始,其次是 $B$ 尽可能早地开始,最后是 $C$ 尽可能早地开始。

输入格式

第一行表示测试用例的数量 $T$ ($1 \leq T \leq 50$)。

每个测试用例包含资源数据,随后是建造请求。资源数据以两行输入开始。第一行用于铁,第二行用于煤。每行资源数据包含手头原材料的数量、生产该资源的矿山数量,以及各矿山的等级。每种原材料的矿山不超过 10 个。

两行资源数据之后是单行输入,列出手头钢资源的数量。

下一行标识建造请求的数量。建造请求不超过 10 个。每个建造请求列出建筑类型,后跟建造它所需的资源要求。每个建筑类型为 1 到 20 个字符,由 a-z 组成,后跟 3 个整数,分别代表建造该建筑所需的铁、煤和钢。

所有数量(初始铁、煤、钢以及每个建筑所需的铁、煤、钢)均在 $0 \leq Q \leq 50\,000$ 的范围内。

输出格式

对于每个建造请求,输出一行格式为 B began construction at H:MM:SS 的内容,其中 B 是建筑类型,H:MM:SS 是从游戏开始到该建筑开始建造所经过的时间,以小时、分钟和秒表示。小时、分钟和秒总是会被打印出来,即使为零,分钟和秒会补零至 2 位。

样例

输入格式 1

1
3 2 1 1
2 2 1 1
1
2
hospital 5 5 5
factory 1 1 0

输出格式 1

hospital began construction at 0:36:00
factory began construction at 0:42:00

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.