QOJ.ac

QOJ

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

#13064. 准备工作

Statistics

Andrew 正在为他的下一场比赛准备题目。他有两种类型的题目:简单题每道需要 $t_1$ 分钟准备,困难题每道需要 $t_2$ 分钟准备($t_1 < t_2$)。每天 Andrew 有 $d$ 分钟的时间可以用来准备题目。

Andrew 决定采用以下算法来选择准备题目的顺序:首先,他将所有要准备的题目排成一个固定的序列。每天,他都会从左到右遍历这个序列,每当遇到一个尚未准备好且当天有足够时间准备的题目时,他就准备该题目,然后继续向后遍历序列。注意,如果他遇到一个当前剩余时间不足以准备的题目,他不会停止遍历——因为序列后面可能还有耗时更短的题目。第二天,他会再次从序列的最开始重新遍历(当然,会跳过已经准备好的题目),以此类推,直到所有题目都准备完毕。

Andrew 想知道:这个算法是最优的吗?更准确地说,是否存在两个题目序列,它们包含相同的题目集合(换句话说,简单题和困难题的数量分别相同),但在 Andrew 遵循该算法的情况下,准备它们所需的天数却不同?

输入格式

输入文件的第一行包含测试用例的数量 $t$,$1 \le t \le 1000$。接下来的 $t$ 行,每行包含一个测试用例,由三个整数 $t_1, t_2$ 和 $d$ 描述,$1 \le t_1 < t_2 \le d \le 100$。同一输入文件中的所有测试用例均不相同。

输出格式

对于每个测试用例,输出两个题目序列,每行一个,使得 Andrew 的算法在准备它们时花费的天数不同,但题目集合相同。每个序列应不带空格地打印,字符 ‘E’ 表示简单题,字符 ‘H’ 表示困难题。每个序列的长度必须最多为 10000。保证如果存在解,则存在每个序列长度均不超过 10000 的解。如果对于某个特定的测试用例没有解,则在一行中打印 “OPTIMAL”。

样例

样例输入 1

2
1 2 2
1 2 3

样例输出 1

OPTIMAL
EEEHHH
HHHEEE

说明

在第二个样例中,序列 EEEHHH 需要 4 天来准备:第一天准备三道简单题,接下来的每一天准备一道困难题。与此同时,HHHEEE 包含相同的题目集合,却仅需 3 天:每天 Andrew 都会先准备一道困难题,然后跳过剩余的困难题直到遇到下一道简单题,因此他每天会准备一道困难题和一道简单题。

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.