lc-go/solutions/8/q841/solution.go
2026-01-25 11:56:12 +09:00

23 lines
391 B
Go

package q841
func canVisitAllRooms(rooms [][]int) bool {
locked := len(rooms) - 1
opened := make([]bool, len(rooms))
opened[0] = true
queue := []int{0}
for ; len(queue) > 0; queue = queue[1:] {
for _, i := range rooms[queue[0]] {
if opened[i] {
continue
}
opened[i] = true
locked--
queue = append(queue, i)
}
}
return locked == 0
}
var _ = canVisitAllRooms