← Home
For problem statement at 1000-1999/1500-1599/1500-1509/1506/problemB.txt this is a correct solution, but verifier at 1000-1999/1500-1599/1500-1509/1506/verifierB.go ends with All 100 tests passed can you fix the verifier? package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var t int
	fmt.Fscan(in, &t)
	for ; t > 0; t-- {
		var n, k int
		var s string
		fmt.Fscan(in, &n, &k)
		fmt.Fscan(in, &s)

		b := []byte(s)
		l, r := -1, -1
		for i := 0; i < n; i++ {
			if b[i] == '*' {
				if l == -1 {
					l = i
				}
				r = i
			}
		}

		if l == r {
			fmt.Fprintln(out, 1)
			continue
		}

		ans := 1
		cur := l
		for cur < r {
			next := cur
			upper := cur + k
			if upper > r {
				upper = r
			}
			for i := upper; i > cur; i-- {
				if b[i] == '*' {
					next = i
					break
				}
			}
			ans++
			cur = next
		}

		fmt.Fprintln(out, ans)
	}
}