For problem statement at 1000-1999/1300-1399/1380-1389/1383/problemA.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1380-1389/1383/verifierA.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
var (
reader = bufio.NewReader(os.Stdin)
writer = bufio.NewWriter(os.Stdout)
)
func find(parent []int, i int) int {
if parent[i] == i {
return i
}
parent[i] = find(parent, parent[i])
return parent[i]
}
func main() {
defer writer.Flush()
var t int
if _, err := fmt.Fscan(reader, &t); err != nil {
return
}
for i := 0; i < t; i++ {
var n int
fmt.Fscan(reader, &n)
var a, b string
fmt.Fscan(reader, &a, &b)
parent := make([]int, 20)
for j := 0; j < 20; j++ {
parent[j] = j
}
possible := true
ans := 0
for j := 0; j < n; j++ {
if a[j] > b[j] {
possible = false
break
} else if a[j] < b[j] {
u := int(a[j] - 'a')
v := int(b[j] - 'a')
rootU := find(parent, u)
rootV := find(parent, v)
if rootU != rootV {
parent[rootU] = rootV
ans++
}
}
}
if !possible {
fmt.Fprintln(writer, "-1")
} else {
fmt.Fprintln(writer, ans)
}
}
}