#P13033. [GCJ 2021 #1C] Roaring Years

[GCJ 2021 #1C] Roaring Years

Description

2021 年正在发生一件百年未遇的事情。与 1920 年一样,2021 年也是一个咆哮年份。一个正整数 yy 所代表的年份被称为咆哮年份,当且仅当 yy 的十进制表示(不含前导零)是两个或更多个不同的连续正整数的十进制表示(不含前导零)按递增顺序连接而成。在这个定义下,2021 是一个咆哮年份,因为它是 20 和 21 的连接。

其他咆哮年份的例子包括 12(1 和 2)、789(7、8、9)、910(9 和 10)、1234(1、2、3、4)以及 9899100(9899 和 100)。2020 不是咆哮年份,因为唯一能连接成 2020 的两个或多个正整数列表是 [20,20][20, 20],而它们不是连续的整数。类似地,2019 只有三种可能的分解方式:[20,1,9][20, 1, 9][201,9][201, 9][20,19][20, 19]。前两种不是连续整数,而第三种虽然连续但不是严格递增的,因此 2019 也不是咆哮年份。再举个例子,778 不是咆哮年份,因为 [7,78][7, 78][77,8][77, 8] 不是连续的整数,而 [7,7,8][7, 7, 8] 中的数字不唯一。

给定当前年份(可能是咆哮年份,也可能不是),找出下一个咆哮年份。

Input Format

输入的第一行包含测试用例的数量 T\textbf{T}。随后是 T\textbf{T} 行,每行一个测试用例,包含一个整数 Y\textbf{Y},表示当前年份。

Output Format

对于每个测试用例,输出一行 Case #x: z,其中 xx 是测试用例编号(从 1 开始),zz 是严格大于 Y\textbf{Y} 的第一个咆哮年份。

4
2020
2021
68000
101
Case #1: 2021
Case #2: 2122
Case #3: 78910
Case #4: 123

Hint

样例解释

注意最后一个样例,102 不是咆哮年份,因为 [10,2][10, 2] 不是连续整数,且不能将 2 写作 0202(带前导零)来构造 [1,02][1, 02]

数据范围

  • 1T1001 \leq \textbf{T} \leq 100

测试集 1(15 分,可见判定)

  • 1Y1061 \leq \textbf{Y} \leq 10^6

测试集 2(20 分,隐藏判定)

  • 1Y10181 \leq \textbf{Y} \leq 10^{18}

翻译由 DeepSeek V3 完成