#CF2154A. Notelock

Notelock

A. Notelock
每个测试的时间限制:1 秒
内存限制:256 兆字节


题目描述

Teto 正在玩热门节奏游戏 osu!。游戏可以用一个长度为 nn 的二进制字符串 ss 和一个正整数 kk 来描述,游戏按以下顺序进行:

  1. 你会选择 ss 中的某些位置进行保护。
  2. 然后对于 ii11nn 递增,Teto 可以在满足以下所有条件时将 sis_i 设为 00
    • si=1s_i = 1
    • sis_i 没有被保护;
    • 前面 k1k-1 个元素中没有 11
      形式化地说,在 smax(1,ik+1),,si1s_{\max(1, i-k+1)}, \dots, s_{i-1} 中不出现 11

你(出于某种原因)不喜欢 Teto。所以请你确定最少需要保护多少个位置,才能迫使她无法改变 ss(即 ss 保持不变)。


输入格式

每个测试包含多个测试用例。第一行包含测试用例数 tt1t1001 \le t \le 100)。
每个测试用例的描述如下:

  • 第一行包含两个整数 nnkk2n10002 \le n \le 10002kn2 \le k \le n)——字符串 ss 的长度和参数 kk
  • 第二行包含一个长度为 nn 的二进制字符串 ss,由字符 01 组成。

所有测试用例的 nn 之和不超过 10001000


输出格式

对于每个测试用例,输出一个整数——最少需要保护的位置数,使得 Teto 无法改变字符串。


示例

输入:

9
2 2
11
6 6
100001
5 3
10000
7 2
1010101
7 4
0000001
3 3
010
3 2
011
7 4
1001001
8 3
00000000

输出:

1
1
1
4
1
1
1
1
0

说明

  • 对于第一个测试用例,你可以保护第一个元素:s=11s = 11
    此时 Teto 不能改变 s1s_1(因为被保护),也不能改变 s2s_2(因为 s1=1s_1 = 1 在它前面的 k1k-1 个元素中)。可以证明这是最优的。

  • 对于第二个测试用例,你可以只保护第一个元素:s=100001s = 100001
    Teto 不能改变 s1s_1(被保护),也不能改变 s6s_6(因为前面的 k1k-1 个元素中有 11)。

  • 对于第四个测试用例,你必须保护 s1,s3,s5,s7s_1, s_3, s_5, s_7,得到 s=1010101s = 1010101。可以证明这是最优的。
    例如,如果不保护 s3s_3,Teto 可以把它改为 0010101011010101)。