CFCF2178B.Impost or Sus

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

一个由小写拉丁字母组成的字符串 ww 被称为可疑字符串,当且仅当同时满足以下所有条件:

  • 字母 s\mathtt{s} 至少出现两次,并且
  • 对于每一个 u\mathtt{u} 的出现,它左、右两侧最近的两个 s\mathtt{s} 离这个 u\mathtt{u} 的距离必须相同。

在你完成字符串相关任务后,你的朋友 Aka 赠送给你一个只包含字母 s\mathtt{s}u\mathtt{u} 的字符串 rr。你可以对 rr 执行以下操作:

  • 选择一个下标 ii1ir1\le i\le |r|),并将 rir_i 赋值为 s\mathtt{s}

请你求出把 rr 变为可疑字符串所需操作的最小次数。在给定的约束条件下,总是可以将 rr 变为可疑字符串。

输入格式

每个测试点包含若干组测试数据。第一行为测试组数 tt1t1041 \le t \le 10^4)。接下来依次给出每组测试数据。

每组测试数据包含一行字符串 rr3r21053\le |r|\le 2\cdot 10^5)。保证 ri=sr_i=\mathtt{s}u\mathtt{u}

保证所有测试数据的 r|r| 之和不超过 21052\cdot 10 ^ 5

输出格式

对于每组测试数据,输出一行一个整数,表示最少需要多少次操作将 rr 变为可疑字符串。

输入输出样例

  • 输入#1

    9
    sus
    uuuu
    sssss
    uusuuu
    suuuuuu
    usssssss
    sssuuusss
    susuusuuus
    uuuuuuuuuuu

    输出#1

    0
    3
    0
    3
    3
    1
    1
    2
    6

说明/提示

在第一个测试点中,字符串 sus\mathtt{sus} 已经是可疑字符串,因为 s\mathtt{s} 在串中出现了两次,并且唯一的 u\mathtt{u} 左右最近的 s\mathtt{s} 距离都为 11sus\color{red}{\mathtt{s}}\underline{\mathtt{u}}\color{red}{\mathtt{s}}

在第二个测试点中,最优操作方案是将第 113344 位改为 s\mathtt{s},此时字符串变为 suss\mathtt{suss}。此时 suss\mathtt{suss} 是可疑字符串,因为 s\mathtt{s} 出现了 33 次,并且唯一的 u\mathtt{u} 左右最近的 s\mathtt{s} 距离都为 11suss\color{red}{\mathtt{s}}\underline{\mathtt{u}}\color{red}{\mathtt{s}}\mathtt{s}

在第三个测试点中,由于字符串 sssss\mathtt{sssss} 没有 u\mathtt{u},条件对 u\mathtt{u} 的要求自然成立。所以原串已经是可疑字符串。

在第六个测试点中,最初的字符串 usssssss\mathtt{usssssss} 并不是可疑字符串,因为唯一的 u\mathtt{u} 左右最近的两个 s\mathtt{s} 分别相距一格和两格:usssssss\underline{\mathtt{u}}\color{red}{\mathtt{ss}}\mathtt{sssss}

首页