Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef pair<ll,ll>pll;
- typedef pair<ll,pair<ll,ll>>plll;
- #define bismillah; (ios_base:: sync_with_stdio(false),cin.tie(NULL));
- #define vll(v) v.begin(),v.end()
- #define all(x) x.rbegin(),x.rend()
- #define min3(a, b, c) min(a, min(b, c))
- #define max3(a, b, c) max(a, max(b, c))
- #define pb push_back
- #define eb emplace_back
- #define ff first
- #define ss second
- /// DSU
- const int N=1e5+10;
- ll p[N+10];
- ll sz[N+10];
- void make(int v){
- p[v]=v;
- sz[v]=1;
- }
- int fnd(int v){
- if(v==p[v])return v;
- return p[v]=fnd(p[v]);
- }
- void Union(int a,int b){
- a=fnd(a);
- b=fnd(b);
- if(a!=b){
- if(sz[a]<sz[b])swap(a,b);
- p[b]=a;
- sz[a]+=sz[b];
- }
- }
- int main(){
- ll n,m;
- cin>>n>>m;
- for(ll i=1;i<=n;i++)make(i);
- while(m--){
- ll a,b;
- cin>>a>>b;
- Union(a,b);
- }
- ll cnt=0;
- for(ll i=1;i<=n;i++)if(i==p[i])cnt++;
- cout<<cnt<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement