For problem statement at 0-999/200-299/210-219/211/problemC.txt this is a correct solution, but verifier at 0-999/200-299/210-219/211/verifierC.go ends with All 101 tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"math/big"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
var s string
fmt.Fscan(in, &s)
var trans [2][4][2]int
var cnt [2][4]int
for st := 0; st < 4; st++ {
a := (st >> 1) & 1
b := st & 1
for c := 0; c < 2; c++ {
y := 0
if b == 1 {
y = c
} else {
y = a
}
trans[y][st][cnt[y][st]] = (b << 1) | c
cnt[y][st]++
}
}
var ans big.Int
for start := 0; start < 4; start++ {
var dp [4]big.Int
dp[start].SetInt64(1)
for i := 0; i < len(s); i++ {
label := 0
if s[i] == 'A' {
label = 1
}
var ndp [4]big.Int
for st := 0; st < 4; st++ {
if dp[st].Sign() == 0 {
continue
}
for k := 0; k < cnt[label][st]; k++ {
nxt := trans[label][st][k]
ndp[nxt].Add(&ndp[nxt], &dp[st])
}
}
dp = ndp
}
ans.Add(&ans, &dp[start])
}
fmt.Print(ans.String())
}