For problem statement at 0-999/0-99/30-39/34/problemD.txt this is a correct solution, but verifier at 0-999/0-99/30-39/34/verifierD.go ends with All 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 n, r1, r2 int
if _, err := fmt.Fscan(in, &n, &r1, &r2); err != nil {
return
}
g := make([][]int, n+1)
for i := 1; i <= n; i++ {
if i == r1 {
continue
}
var p int
fmt.Fscan(in, &p)
g[i] = append(g[i], p)
g[p] = append(g[p], i)
}
parent := make([]int, n+1)
q := make([]int, 0, n)
q = append(q, r2)
for head := 0; head < len(q); head++ {
u := q[head]
for _, v := range g[u] {
if v == parent[u] {
continue
}
parent[v] = u
q = append(q, v)
}
}
first := true
for i := 1; i <= n; i++ {
if i == r2 {
continue
}
if !first {
fmt.Fprint(out, " ")
}
fmt.Fprint(out, parent[i])
first = false
}
fmt.Fprintln(out)
}