For problem statement at 1000-1999/1500-1599/1530-1539/1536/problemC.txt this is a correct solution, but verifier at 1000-1999/1500-1599/1530-1539/1536/verifierC.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
type pair struct {
d, k int
}
func gcd(a, b int) int {
for b != 0 {
a, b = b, a%b
}
return a
}
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
for i := 0; i < t; i++ {
var n int
var s string
fmt.Fscan(reader, &n, &s)
counts := make(map[pair]int)
d, k := 0, 0
for j := 0; j < n; j++ {
if s[j] == 'D' {
d++
} else {
k++
}
g := gcd(d, k)
p := pair{d / g, k / g}
counts[p]++
if j > 0 {
writer.WriteByte(' ')
}
fmt.Fprint(writer, counts[p])
}
writer.WriteByte('\n')
}
}