luogu#P16794. [蓝桥杯 2026 国 B] 生成派生码

[蓝桥杯 2026 国 B] 生成派生码

题目描述

小蓝是蓝桥云课的安全管理员,目前负责维护一组从 112026060620260606 的基础校验码。为了构建动态验证库,他需要对这些基础码进行扩展,生成一系列“派生码”。

派生码的生成过程如下:对于每一个基础校验码,在其十进制表示的最左侧、最右侧或任意两个相邻数位之间,插入一个 090 \sim 9 之间的数字,从而构造出一个新的数字。每次生成操作只能插入 11 个数字,这个新生成的数字即为一个派生码。

在生成过程中,需遵守以下规定:

  • 合规性:生成的派生码必须是合法的正整数,不允许含有前导零。例如,基础码 11 无法通过在最左侧插入 00 构造出 0101,但可以在最右侧插入 00 构造出 1010。在数位中间或最右侧插入 00 是允许的。
  • 唯一性:所有生成方式得到的派生码均按数值去重。无论是不同基础码生成了相同派生码,还是同一个基础码通过不同插入位置或不同插入数字生成了相同派生码,验证库都只记录一次。

例如,假设基础码集合中只有数字 1212。它能产生的有效派生码包括:

  • 在最左侧插入:112,212,,912112, 212, \dots, 912012012 视为非法);
  • 在数位间插入:102,112,122,,192102, 112, 122, \dots, 192
  • 在最右侧插入:120,121,122,,129120, 121, 122, \dots, 129

其中,112112122122 等数字由于插入位置不同而产生的多次,但在统计总量时仅计入一次。

现在,请你帮助小蓝计算,利用从 112026060620260606 的基础校验码,总共可以生成出多少个互不相同的派生码?

输出格式

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只需编写一个程序输出这个整数,填写多余的内容将无法得分。