#P13026. [GCJ 2021 #1A] Append Sort
[GCJ 2021 #1A] Append Sort
Description
我们有一个整数列表 。我们希望它们能按严格递增的顺序排列,但遗憾的是不能直接重新排序。这意味着常规的排序算法无法使用。
我们唯一的操作是在这些数字的右侧(十进制下)追加数字 到 。例如,若某数字是 ,通过一次追加操作可以变为 或 ,通过两次操作可变为 (如下图所示)。
给定当前列表,至少需要进行多少次单数字追加操作才能使列表严格递增?
例如,对于列表 ,可通过 次操作将其变为有序列表,如下图所示。

Input Format
输入的第一行给出测试用例数量 。随后是 个测试用例。每个测试用例由两行描述:第一行包含一个整数 ,表示列表中的数字数量;第二行包含 个整数 $\mathbf{X}_1, \mathbf{X}_2, \ldots, \mathbf{X}_\mathbf{N}$,即列表成员。
Output Format
对于每个测试用例,输出一行 Case #x: y,其中 为测试用例编号(从 1 开始), 为使列表严格递增所需的最少单数字追加操作次数。
4
3
100 7 10
2
10 10
3
4 19 1
3
1 2 3
Case #1: 4
Case #2: 1
Case #3: 2
Case #4: 0
Hint
样例解释
在样例 #1 中,输入与题目描述中的示例相同。如图所示,需 次操作使列表有序。注意最后两个数字最终至少需要 位数字(共需至少 次追加操作)。若所有数字最终均为 位,由于第二个数字以 开头而第三个以 开头,第二个数字仍会大于第三个,因此无法用少于 次操作完成。
在样例 #2 中,由于要求严格递增,必须至少进行 次操作。此处对第二个数字追加任意有效数字均可。
在样例 #3 中,可通过 次操作将列表变为 。
在样例 #4 中,列表已严格递增,无需操作。
数据范围
- 。
测试集 1(12 分,可见判定)
- 。
- (对所有 )。
测试集 2(14 分,可见判定)
- 。
- (对所有 )。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号