#P9232. [蓝桥杯 2023 省 A] 更小的数(Smaller Number)
0
[蓝桥杯 2023 省 A] 更小的数(Smaller Number)
[蓝桥杯 2023 省 A] 更小的数(Smaller Number)
题目描述
小蓝有一个长度为 且仅由数字字符 0 9 组成的字符串,下标从 到 ,你可以将其视作一个具有 位的十进制数字 。小蓝可以从 中选出一段连续的子串并将子串进行反转,最多反转一次。
小蓝想要使选出的子串反转并放回原位置后得到的新数字 满足 。请你帮他计算一共有多少种不同的子串选择方案(只要两个子串在 中的起止位置不完全相同就视作不同的方案)。
注意:允许前导零的存在,即数字的最高位可以是 0。
输入格式
输入一行包含一个长度为 的字符串表示 (仅包含数字字符 ),从左至右下标依次为 。
输出格式
输出一行包含一个整数表示答案。
样例输入 #1
210102
样例输出 #1
8
数据范围
【样例说明】
一共有 种不同的方案:
- 所选择的子串下标为 ,反转后的 ;
- 所选择的子串下标为 ,反转后的 ;
- 所选择的子串下标为 ,反转后的 ;
- 所选择的子串下标为 ,反转后的 ;
- 所选择的子串下标为 ,反转后的 ;
- 所选择的子串下标为 ,反转后的 ;
- 所选择的子串下标为 ,反转后的 ;
- 所选择的子串下标为 ,反转后的 。
【评测用例规模与约定】
对于 的评测用例,;
对于 的评测用例,;
对于所有评测用例,。
知识点与难度
本题涉及的知识点从属于 CSP-J,难度(CF Rating):1250。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例及最小边界测试 |
| 1 | 20 | 3~8 | |
| 2 | 15 | 9~11 | Hack 数据:严格递增串(答案 )、全相同数字串(答案 )、严格递减串(答案 ) |
| 3 | 30 | 12~20 | |
| 4 | 25 | 21~25 | 满规模区间递推测试 |
出处:原题链接