2 条题解

  • 0
    @ 2024-11-30 10:51:19

    #include<bits/stdc++.h> using namespace std; const int N=1010; int f[N*2]; int find(int x) { if(f[x]!=x) f[x]=find(f[x]); return f[x]; }

    int main() { int n,m; cin>>n>>m; for(int i=1;i<=2*n;i++) f[i]=i; while(m--) { char op; int a,b; scanf(" %c%d%d",&op,&a,&b); if(op=='F') f[find(a)]=find(b); else{ f[find(a+n)]=find(b); f[find(b+n)]=find(a); } } int cnt=0; for(int i=1;i<=n;i++) if(f[i]==i) cnt++; cout<<cnt; return 0; }

    信息

    ID
    920
    时间
    2000ms
    内存
    64MiB
    难度
    6
    标签
    (无)
    递交数
    17
    已通过
    10
    上传者