学姐的编码1.0
题号:NC218875
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

学姐最近喜欢上了编码,尤其是十六进制编码,但是学姐特别挑剔,在学姐眼中,只有逐位递增的编码才是一个优美的编码,比如12,58都是优美的编码,85,22则都不是优美的编码,现在学姐得到了一个编码串,她希望你告诉她该编码串里可查询到的所有不重复的优美的编码总个数,对于单个字符组成的编码,学姐总是认为这个编码是优美的,且优美的编码当中是允许存在前导零的

编码可查询的判定依据:在给定编码串中删去任意位字符,剩下字符不改变顺序组成一个新的编码,则认为可在中查询到,如0102中可查询的编码有0,1,2,00,01,02,10,12,010,012,002,102,0102

输入描述:

一个字符串s表示所给十六进制编码串(1≤|s|≤1000000)
(保证所给编码串与标准十六进制一致,编码串中仅可能出现0-9与A-F,不会有多余字符出现)

输出描述:

一个数,表示不重复计算的情况下优美的编码的总个数
示例1

输入

复制
001A

输出

复制
7

说明

七种方案分别为
0,01,0A,01A,1,1A,A

备注:

对于10%的数据:1≤n≤5
对于30%的数据:1≤n≤10
对于100%的数据:1≤n≤1000000,其中另有10%保证字符串中0-9与A-F至少各出现一次