#P12790. 01环

01环

01环

Problem Description

给定一个由字符 '0' 和 '1' 组成的长度为 NN 的环形字符串,其中 NN 是一个偶数。你可以通过以下两种操作将这个环调整为 0101 交替的形式(即相邻字符不相同,如 "0101..." 或 "1010..."):

  • 交换操作:选择任意一个位置 ii,交换 ii (imodN)+1~(i \bmod N) + 1 位置的字符(即相邻位置交换,环的首尾也视为相邻)。
  • 翻转操作:选择任意一个位置 ii,将该位置的字符取反('0' 变 '1','1' 变 '0')。 你的任务是计算出将给定环形字符串转换为 0101 交替环所需的最少操作次数。

Input

第一行包含一个整数 TT1T1041 \leq T \leq 10^4),表示测试用例的数量。 每组测试用例包含两行:

  • 第一行为一个偶数 NN2N1062 \leq N \leq 10^6),表示环形字符串的长度。
  • 第二行为一个长度为 NN 的字符串 ss,仅由字符 '0' 和 '1' 组成。 保证所有测试用例的 NN 之和不超过 10610^6

Output

对于每组测试用例,输出一行一个整数,表示所需的最少操作次数。

Sample Input

2
4
0110
6
000000

Sample Output

1
3

Source

2025“钉耙编程”中国大学生算法设计暑期联赛(3)