#D0886. 校验码
校验码
题目描述
小 C 正在检查实验室中的一台双通道能量装置。
装置中保存着两个非负整数参数 和 ,并且保证 。为了生成校验码,装置会进行以下计算:
随后,装置会将 和 的十进制表示直接连接起来,得到校验码 。中间不会添加任何分隔符。
例如,当 时:
因此生成的校验码为 210。
现在,小 C 只知道校验码 ,但不知道应该从哪个位置将它分成 和 。请计算有多少对不同的非负整数 可以生成这个校验码。
所有整数都使用标准十进制表示,即除数字 本身外,不包含前导零。
输入格式
输入一行,包含一个正整数 ,表示装置生成的校验码。
输出格式
输出一个整数,表示能够生成校验码 的不同参数对 的数量。
样例
3161
2
37
1
202
0
样例解释
样例 1 中,存在两组参数:
- ,此时 ,校验码为
3161; - ,此时 ,校验码同样为
3161。
共有 种可能。
样例 2 中,唯一参数为 ,此时 ,校验码为 37。
样例 3 中,校验码为 202。若分割成 2 和 02,则 以 0 开头,不合法。若分割成 20 和 2,则 ,不满足 。所以没有合法分割。
数据范围与约定
| 子任务 | 分值 | 限制 |
|---|---|---|
| 保证 恰好包含 位数字 | ||
| 保证 | ||
| 无特殊限制 |
对于 的数据,保证 ,并且 不包含前导零。
相关
在下列比赛中: