abc399C

· · 个人记录

#include<bits/stdc++.h>
using namespace std;
long long read(){
    long long x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-'){
            f=-1;
        }
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=(x<<1)+(x<<3)+(ch^48);
        ch=getchar();
    }
    return x*f;
}
void write(long long x){
    if(x<0){
        putchar('-');
        x=-x;
    }
    if(x>9){
        write(x/10);
    }
    putchar(x%10+'0');
    return ;
}
vector<int> tu[200005];
int fa[200005];
int find(int x){
    if(fa[x]==x){
        return x;
    }
    return fa[x]=find(fa[x]);
}
int main(){
//  freopen(".in","r",stdin);
//  freopen(".out","w",stdout);
    int n=read(),m=read();
    int ans=0;
    for(int i=1;i<=n;i++){
        fa[i]=i;
    }
    for(int i=1;i<=m;i++){
        int u=read(),v=read();
        if(find(fa[u])==find(fa[v])){
            ans++;
            continue ;
        }
        tu[u].push_back(v);
        tu[v].push_back(u);
        fa[find(fa[v])]=fa[u];
    }
    write(ans);
    return 0;
}