837. 连通块中点的数量

link

code

#include<bits/stdc++.h> using namespace std; const int N = 100010; int fa[N], a[N]; int cnt[N]; int find(int x){ if(x != fa[x]) fa[x] = find(fa[x]); return fa[x]; } void un(int x, int y){ x = find(x); y = find(y); if(x != y){ fa[y] = x; cnt[x] += cnt[y]; } } int main(){ int n, m; cin >> n >> m; for(int i = 1; i <= n; i++){ fa[i] = i; cnt[i] = 1; } string s; int a, b; while(m--){ cin >> s; if(s == "C"){ cin >> a >> b; if(a != b) un(a,b); }else if(s == "Q1"){ cin >> a >> b; if(a == b) cout <<"Yes"<<endl; else{ a = find(a); b = find(b); if(a == b) cout <<"Yes"<<endl; else cout <<"No" <<endl; } }else{ cin >> a; a = find(a); cout << cnt[a]<<endl; } } return 0; }

__EOF__

本文作者WangZhenHui
本文链接https://www.cnblogs.com/index-12/p/17297205.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   天黑星更亮  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示