文章

111

粉丝

1

获赞

755

访问

22.4k

头像
并查集 题解:c++
P1586
发布于2026年3月15日 00:30
阅读数 37

#include <bits/stdc++.h>
using namespace std;

int path[10005];
int find(int i){
    if(path[i] != i){
        path[i] = find(path[i]);
    }
    return path[i];
}
int main(){
    int n,m;
    cin >> n >> m;
    for(int i = 1 ; i <= n; i++){
        path[i] = i;
    }
    while(m--){
        int a,b,c;
        cin >> a >> b >> c;
        if(a == 1){
            int tb = find(b);
            int tc = find(c);
            path[tb] = tc;
        }else{
            int tb = find(b);
            int tc = find(c);
            if(tc != tb){
  &nbs...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发