CFCF2173A.Sleeping Through Classes
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你今天有 n 节课,编号从 1 到 n。
这些课程由一个长度为 n 的二进制字符串 s 描述。我们称第 i 节课为重要课当且仅当 si=1。对于每一节重要课,你必须保持清醒并听课。
你非常疲倦,想尽可能多地在课上睡觉。然而,入睡需要时间。如果你听了一节重要课 i,那么接下来的 k 节课你都无法入睡,也就是说你必须在第 i+1,i+2,…,i+k 节课中保持清醒(如果后面的课程少于 k 节,则直到今天上完为止)。
对于不重要的课程,你可以选择睡觉,除非前面的规则要求你保持清醒。
你的任务是计算今天最多能睡多少节课。
∗二进制字符串是指字符串中的每个字符都是 0 或 1。
输入格式
每个测试用例包含多组数据。第一行为测试用例数 t(1≤t≤500)。
每组测试数据的第一行为两个整数 n 和 k(1≤n,k≤100)。
每组测试数据的第二行为一个长度为 n 的字符串 s(si=0 或 si=1)。
输出格式
对于每组测试数据,输出一个整数,表示你今天最多能睡多少节课。
输入输出样例
输入#1
4 4 1 1001 3 3 000 3 1 001 8 2 01000101
输出#1
1 3 2 2
说明/提示
在第一个测试用例中,你必须听第 1 节课和第 4 节课。听完第 1 节课后,第 2 节课你无法入睡。所以你唯一能睡觉的是第 3 节课。
在第二个测试用例中,你可以睡过所有课程。
在第四个测试用例中,你只能睡第 1 节课和第 5 节课。