2026模拟卷(一)T1 安全子串
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
2026模拟卷(一)T1 安全子串
题目背景
小 Z 在整理一份实验记录。记录是一串由小写英文字母组成的字符串,其中字母 c、s、p 有特殊含义。按照规定,记录中不允许出现连续的三个字符依次为 c、s、p,这样的片段被称为「敏感片段」。
题目描述
给定一个长度为 的小写字母字符串 。
请你求出: 的一个连续子串 (),使这个子串内部不存在任何位置 ()满足 ,,。在所有这样的连续子串中,求长度的最大值。
注意:只要子串内部不出现敏感片段即可,子串之外的部分不作要求。另外,位置相邻的字符之间不额外插入任何字符。
输入格式
共一行,一个只由小写英文字母组成的字符串 ,长度记为 。
输出格式
共一行,一个整数,表示最长的安全连续子串的长度。可以证明这样的子串一定存在(单个字符总是安全的),因此答案至少为 1。
样例输入
cspcspc
样例输出
4
样例解释
字符串 ,长度为 7。它在位置 1 到 3、位置 4 到 6 各出现了一次敏感片段 csp。
先说明长度 4 是能做到的:取 ,它内部的连续三字符片段只有 spc 与 pcs,都不是 csp,所以合法,长度为 4。
再说明长度 5 做不到。长度为 5 的子串只有三种:
| 起点 | 子串 | 是否含 csp |
|---|---|---|
| 1 | cspcs |
含(开头三位) |
| 2 | spcsp |
含(末尾三位) |
| 3 | pcspc |
含(第 3 到 5 位) |
三种都不合法。长度 6、7 的子串必然包含位置 1 到 3 或位置 4 到 6 之一,所以也不合法。
因此最长安全子串的长度是 4。
数据范围
| 子任务 | 分值 | 的限制 | 字符串内容限制 |
|---|---|---|---|
| 1 | 20 | 无 | |
| 2 | |||
| 3 | 30 | ||
| 4 | 字符串中不含字母 p |
对于 的数据,, 中只包含小写英文字母。