For problem statement at 0-999/100-199/120-129/129/problemB.txt this is a correct solution, but verifier at 0-999/100-199/120-129/129/verifierB.go ends with All 100 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, m int
if _, err := fmt.Fscan(in, &n, &m); err != nil {
return
}
adj := make([][]int, n)
deg := make([]int, n)
for i := 0; i < m; i++ {
var a, b int
fmt.Fscan(in, &a, &b)
a--
b--
adj[a] = append(adj[a], b)
adj[b] = append(adj[b], a)
deg[a]++
deg[b]++
}
removed := make([]bool, n)
groups := 0
for {
toRemove := make([]int, 0)
for i := 0; i < n; i++ {
if !removed[i] && deg[i] == 1 {
toRemove = append(toRemove, i)
}
}
if len(toRemove) == 0 {
break
}
groups++
for _, v := range toRemove {
removed[v] = true
}
for _, v := range toRemove {
for _, u := range adj[v] {
if !removed[u] {
deg[u]--
}
}
deg[v] = 0
}
}
fmt.Fprintln(out, groups)
}