测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16832. 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$ 变为新年字符串所需的最小操作次数。

输入输出样例

输入 #1
7
4
0000
4
2025
4
2026
8
20252026
8
20252025
9
202520256
9
202520265
输出 #1
0
1
0
0
1
1
0

说明/提示

在样例的第二个测试中,你可以将字符串的第 2 个字符替换为 2,此时字符串变为 $2225$。

在样例的第 5 个测试中,你可以将第 4 个字符替换为 $6$,则字符串变为 $20262025$。

在样例的第 6 个测试中,你可以将第 8 个字符替换为 $6$,则字符串变为 $202520266$。
上一题 去做题 下一题