QOJ.ac

QOJ

时间限制: 20 s 内存限制: 1024 MB 总分: 26

#11465. 新元素:第二部分

统计

Muriel 正在探索两种新元素,她将其命名为 Codium 和 Jamarium。她目前还无法分离出这些元素,但她希望通过间接手段开始研究它们的一些重要性质,例如原子量。由于 Muriel 使用的是 Codium 的单一同位素和 Jamarium 的单一同位素,它们的原子量均为严格正整数。

Muriel 成功制造了 $N$ 种不同的分子,每种分子都包含一个或多个 Codium 原子和一个或多个 Jamarium 原子,且不含其他元素。对于每种分子,她都知道其中每种元素的原子数量。分子的分子量是其所含所有原子的原子量之和。

作为第一步,Muriel 按分子量严格递增的顺序对这些分子进行了排序。现在,她想找出符合该排序的 Codium 和 Jamarium 的原子量可能的整数值。由于她意识到可能存在多组符合条件的数值,她希望找到一组能使 Codium 的原子量最小的解。如果存在多组 Codium 原子量最小的解,她希望找到其中 Jamarium 原子量最小的那一组。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含一个整数 $N$,表示分子的数量。接下来的 $N$ 行,每行描述一个不同的分子,包含两个整数 $C_i$ 和 $J_i$,分别表示第 $i$ 个分子中 Codium 和 Jamarium 原子的数量。分子已按分子量严格递增的顺序给出。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),如果不存在能使分子按分子量严格递增排序的整数原子量对,则 $y$ 为 IMPOSSIBLE(大写)。否则,$y$ 应为两个整数 $c$ 和 $j$,其中 $c$ 是 Codium 的原子量,$j$ 是 Jamarium 的原子量,并根据上述规则选择。

数据范围

$1 \le T \le 100$ $2 \le N \le 10$ $(C_i, J_i) \neq (C_j, J_j)$,对于所有 $i \neq j$。(所有分子均不相同。)

测试集 1(可见) $1 \le C_i \le 100$,对于所有 $i$。 $1 \le J_i \le 100$,对于所有 $i$。

测试集 2(隐藏) $1 \le C_i \le 10^9$,对于所有 $i$。 $1 \le J_i \le 10^9$,对于所有 $i$。

样例

样例输入 1

3
3
1 1
1 2
2 1
4
1 2
2 1
4 2
2 4
3
1 2
1 3
2 3

样例输出 1

Case #1: 2 1
Case #2: IMPOSSIBLE
Case #3: 1 1

说明

在样例 1 中,最后两个分子的区别在于其中一种元素多了一个原子。鉴于含有额外 Codium 原子的分子总重量更重,我们得出结论:Codium 必须比 Jamarium 重。Codium 和 Jamarium 的原子量取值 2 和 1,使得分子量分别为 $1 \times 2 + 1 \times 1 = 3$,$1 \times 2 + 2 \times 1 = 4$,以及 $2 \times 2 + 1 \times 1 = 5$,符合严格递增的顺序。由于在此情况下 Codium 比 Jamarium 重,2 是 Codium 的最小原子量,而 1 自然是 Jamarium 的最小原子量。

设 $a, b, c$ 和 $d$ 为样例 2 中分子按分子量递增顺序排列后的分子量。根据它们的原子组成,$d = 2 \times a$ 且 $c = 2 \times b$。由 $a < b$ 可得 $d = 2 \times a < 2 \times b = c$,这意味着不存在能使分子量严格递增的原子量取值。

在样例 3 中,注意这些分子恰好按原子总数严格递增的顺序排列。因此,将两种元素的原子量都设为 1,即可使分子量按严格递增顺序排列。

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.