板子题不多说,上代码

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int F[1005];
int find(int x){
    if(F[x]==-1) return x;
    return F[x]=find(F[x]);
}
void bing(int a,int b){
    int t1=find(a);
    int t2=find(b);
    if(t1!=t2) F[t1]=t2;
}
int main(){
    int  T,n,m,a,b;
    cin >> T;
    while(T--){
        scanf("%d%d",&n,&m);
        for(int i=0;i<=n;i++)
            F[i]=-1;
        while(m--){
            scanf("%d%d",&a,&b);
            bing(a,b);
        }
        
        int ans=0;
        for(int i=1;i<=n;i++)
            if(F[i]==-1)
                ans++;
        printf("%d\n",ans);
    }    
}

 

相关文章:

  • 2022-12-23
  • 2021-07-06
  • 2021-12-07
  • 2021-05-15
  • 2021-11-01
  • 2021-10-10
  • 2021-05-22
猜你喜欢
  • 2021-08-12
  • 2021-08-30
  • 2022-01-29
  • 2022-12-23
  • 2022-01-22
  • 2022-12-23
  • 2021-10-08
相关资源
相似解决方案