CF1702B Polycarp Writes a String from Memory

题目描述

Polycarp 记忆力很差。每天他最多只能记住 $3$ 个不同的字母。 Polycarp 想要用最少的天数写出一个由小写拉丁字母组成的非空字符串 $s$。他需要多少天才能完成? Polycarp 最开始有一个空字符串,只能在字符串末尾添加字符。 例如,如果 Polycarp 想要写出字符串 lollipops,他会用 $2$ 天完成: - 第一天,Polycarp 会记住字母 l、o、i,并写下 lolli; - 第二天,Polycarp 会记住字母 p、o、s,接着在已有字符串后添加 pops,最终得到 lollipops。 如果 Polycarp 想要写出字符串 stringology,他会用 $4$ 天完成: - 第一天写下部分 str; - 第二天写下部分 ing; - 第三天写下部分 olog; - 第四天写下部分 y。 对于给定的字符串 $s$,请输出 Polycarp 至少需要多少天才能将其写出。

输入格式

输入的第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每个测试用例包含一个非空字符串 $s$,由小写拉丁字母组成(字符串 $s$ 的长度不超过 $2 \cdot 10^5$),表示 Polycarp 想要写出的字符串。 保证所有测试用例中字符串 $s$ 的总长度不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示 Polycarp 至少需要多少天才能将字符串 $s$ 从头到尾写出。

说明/提示

由 ChatGPT 4.1 翻译