QOJ.ac

QOJ

実行時間制限: 10 s メモリ制限: 1024 MB 満点: 26

#12449. 追加排序

統計

我们有一个整数列表 $X_1, X_2, \dots, X_N$。我们希望它们按严格递增的顺序排列,但不幸的是,我们不能重新排列它们。这意味着通常的排序算法无法使用。

我们唯一的选择是通过在整数右侧追加 $0$ 到 $9$ 之间的数字(在十进制下)来改变它们。例如,如果其中一个整数是 $10$,你可以通过一次追加操作将其变为 $100$ 或 $109$,或者通过两次操作将其变为 $1034$(如下图所示)。

给定当前的列表,为了使列表按严格递增顺序排列,最少需要进行多少次单位数字追加操作?

例如,如果列表是 $100, 7, 10$,我们可以总共使用 $4$ 次操作使其成为一个有序列表,如下图所示。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例由两行组成。第一行包含一个整数 $N$,表示列表中的整数个数。第二行包含 $N$ 个整数 $X_1, X_2, \dots, X_N$,即列表中的成员。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是使列表按严格递增顺序排列所需的最少单位数字追加操作次数。

数据范围

$1 \le T \le 100$。

测试集 1 $2 \le N \le 3$ $1 \le X_i \le 100$,对于所有 $i$。

测试集 2 $2 \le N \le 100$ $1 \le X_i \le 10^9$,对于所有 $i$。

样例

样例输入 1

4
3
100 7 10
2
10 10
3
4 19 1
3
1 2 3

样例输出 1

Case #1: 4
Case #2: 1
Case #3: 2
Case #4: 0

说明

在样例 1 中,输入与题目描述中给出的例子相同。如图所示,该列表可以通过 $4$ 次操作变为有序列表。注意,最后两个整数最终需要至少 $3$ 位数字(总共需要至少 $3$ 次追加操作)。如果所有最终数字恰好有三位,第二个数字将比第三个数字大,因为它以 $7$ 开头而不是 $1$。这意味着我们无法用少于 $4$ 次的操作完成。

在样例 2 中,注意列表需要按严格递增顺序排列,因此我们必须至少进行一次操作。在这种情况下,对第二个整数进行任何有效的追加操作都可以。

在样例 3 中,我们可以使用两次追加操作将列表变为 $4, 19, 193$。

在样例 4 中,给定的列表已经按严格递增顺序排列,因此不需要任何操作。

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.