CF2182A New Year String
题目描述
如果一个只包含字符 $0$、$2$、$5$ 和(或)$6$ 的字符串满足以下至少一个条件,我们称它为新年字符串(New Year string):
- 它包含连续的子串 $2026$;
- 它不包含连续的子串 $2025$。
例如,字符串 $20252026$、$21026$、$20262026$、$000$ 都是新年字符串。而字符串 $2025$、$20256$、$20252025$、$000202500020226$ 都不是新年字符串。
现在给定一个字符串 $s$。你可以进行任意次(可以为 $0$ 次)如下操作:
- 选择 $s$ 中的一个字符,将其替换为 $0$、$2$、$5$ 或 $6$ 中的任意一个字符。
请计算,将字符串 $s$ 变为新年字符串所需的最小操作次数。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的组数。
每组测试数据包括两行:
- 第一行包含一个整数 $n$($4 \leq n \leq 20$),表示字符串 $s$ 的长度;
- 第二行包含一个长度为 $n$ 的字符串 $s$,只包含 $0$、$2$、$5$、$6$ 这四种字符。
输出格式
对于每个测试用例,输出一个整数,表示将字符串 $s$ 变为新年字符串所需的最小操作次数。
说明/提示
在样例的第二个测试中,你可以将字符串的第 2 个字符替换为 2,此时字符串变为 $2225$。
在样例的第 5 个测试中,你可以将第 4 个字符替换为 $6$,则字符串变为 $20262025$。
在样例的第 6 个测试中,你可以将第 8 个字符替换为 $6$,则字符串变为 $202520266$。
由 ChatGPT 5 翻译