For problem statement at 1000-1999/1600-1699/1680-1689/1689/problemD.txt this is a correct solution, but verifier at 1000-1999/1600-1699/1680-1689/1689/verifierD.go ends with test 7 failed
input:
1
5 5
WWWBW
WWWWB
WBWWW
WWWWW
WWWWW
expected: 1 1
got: 2 3
exit status 1 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Split(bufio.ScanWords)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
scanInt := func() int {
scanner.Scan()
val, _ := strconv.Atoi(scanner.Text())
return val
}
scanStr := func() string {
scanner.Scan()
return scanner.Text()
}
if !scanner.Scan() {
return
}
t, _ := strconv.Atoi(scanner.Text())
for i := 0; i < t; i++ {
n := scanInt()
m := scanInt()
minS, maxS := 100000000, -100000000
minD, maxD := 100000000, -100000000
for r := 0; r < n; r++ {
row := scanStr()
for c, char := range row {
if char == 'B' {
s := r + c
d := r - c
if s < minS {
minS = s
}
if s > maxS {
maxS = s
}
if d < minD {
minD = d
}
if d > maxD {
maxD = d
}
}
}
}
bestDist := 100000000
ansR, ansC := 1, 1
for r := 0; r < n; r++ {
for c := 0; c < m; c++ {
s := r + c
d := r - c
distS := s - minS
if val := maxS - s; val > distS {
distS = val
}
distD := d - minD
if val := maxD - d; val > distD {
distD = val
}
curMax := distS
if distD > curMax {
curMax = distD
}
if curMax < bestDist {
bestDist = curMax
ansR = r + 1
ansC = c + 1
}
}
}
fmt.Fprintln(writer, ansR, ansC)
}
}
```