P13026 [GCJ 2021 #1A] Append Sort

题目描述

我们有一个整数列表 $X_1, X_2, \ldots, X_N$。我们希望它们能按**严格递增**的顺序排列,但遗憾的是不能直接重新排序。这意味着常规的排序算法无法使用。 我们唯一的操作是在这些数字的右侧(十进制下)追加数字 $0$ 到 $9$。例如,若某数字是 $10$,通过一次追加操作可以变为 $100$ 或 $109$,通过两次操作可变为 $1034$(如下图所示)。 给定当前列表,至少需要进行多少次单数字追加操作才能使列表严格递增? 例如,对于列表 $100, 7, 10$,可通过 $4$ 次操作将其变为有序列表,如下图所示。 ![](https://cdn.luogu.com.cn/upload/image_hosting/x5uxrlzd.png)

输入格式

输入的第一行给出测试用例数量 $\mathbf{T}$。随后是 $\mathbf{T}$ 个测试用例。每个测试用例由两行描述:第一行包含一个整数 $\mathbf{N}$,表示列表中的数字数量;第二行包含 $\mathbf{N}$ 个整数 $\mathbf{X}_1, \mathbf{X}_2, \ldots, \mathbf{X}_\mathbf{N}$,即列表成员。

输出格式

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

说明/提示

**样例解释** 在样例 #1 中,输入与题目描述中的示例相同。如图所示,需 $4$ 次操作使列表有序。注意最后两个数字最终至少需要 $3$ 位数字(共需至少 $3$ 次追加操作)。若所有数字最终均为 $3$ 位,由于第二个数字以 $7$ 开头而第三个以 $1$ 开头,第二个数字仍会大于第三个,因此无法用少于 $4$ 次操作完成。 在样例 #2 中,由于要求严格递增,必须至少进行 $1$ 次操作。此处对第二个数字追加任意有效数字均可。 在样例 #3 中,可通过 $2$ 次操作将列表变为 $4, 19, 193$。 在样例 #4 中,列表已严格递增,无需操作。 **数据范围** - $1 \leq \mathbf{T} \leq 100$。 **测试集 1(12 分,可见判定)** - $2 \leq \mathbf{N} \leq 3$。 - $1 \leq \mathbf{X}_i \leq 100$(对所有 $i$)。 **测试集 2(14 分,可见判定)** - $2 \leq \mathbf{N} \leq 100$。 - $1 \leq \mathbf{X}_i \leq 10^9$(对所有 $i$)。 翻译由 DeepSeek V3 完成