AcWing 836. 合并集合-golang
原题链接
简单
作者:
一只鱼
,
2021-09-03 16:33:27
,
所有人可见
,
阅读 211
AcWing 836. 合并集合-golang
package main
import "fmt"
var data []int
func main() {
var n, m int
fmt.Scan(&n, &m)
data = make([]int, n+1)
for i := 1; i <= n; i++ {
data[i] = i
}
var op string
var a, b int
for m > 0 {
m--
fmt.Scan(&op, &a, &b)
if op == "M" {
data[find(a)] = find(b)
continue
}
if find(a) == find(b) {
fmt.Println("Yes")
continue
}
fmt.Println("No")
}
}
func find(x int) int{
if data[x] != x {
data[x] = find(data[x])
}
return data[x]
}