AT_abc433_c [ABC433C] 1122 Substring 2

题目描述

给定一个只包含数字的字符串 $S$。 如果一个字符串 $T$ 满足所有下述条件,则称其为 **1122-字符串**(定义与问题 F 相同)。 - $T$ 是一个非空的、只由数字组成的字符串。 - $|T|$ 是偶数,这里 $|T|$ 表示字符串 $T$ 的长度。 - $T$ 的第 $1$ 个至第 $\frac{|T|}{2}$ 个字符都相同,且都是同一个数字。 - $T$ 的第 $(\frac{|T|}{2} + 1)$ 个至第 $|T|$ 个字符也都相同,且都是另一个数字。 - $T$ 的第 $1$ 个字符对应的数字加 $1$ 就等于 $T$ 的第 $|T|$ 个字符对应的数字。 例如,`1122`、`01` 和 `444555` 都是 1122-字符串,而 `1222` 和 `90` 不是 1122-字符串。 请你计算 $S$ 有多少个**子串**是 1122-字符串。 如果两个子串出现在不同位置,即使内容相同,也应分别统计。

输入格式

输入一行,包含一个字符串 $S$。

输出格式

输出 $S$ 的所有非空且为 1122-字符串的子串的个数。

说明/提示

### 样例解释 1 符合条件的子串有 $2$ 个: - $S$ 的第 $2$ 到第 $3$ 个字符组成的子串 `12` - $S$ 的第 $1$ 到第 $4$ 个字符组成的子串 `1122` 因此输出 $2$。 ### 样例解释 2 注意,如果两个子串出现在不同的位置,即使内容相同,也要分别统计。 ### 样例解释 3 有可能不存在符合条件的 1122-字符串子串。 ### 数据范围 - $S$ 是一个长度为 $1$ 到 $10^6$ 的数字字符串。 由 ChatGPT 5 翻译