#include <bits/stdc++.h>
using namespace std;
set<long> grafo[100005];
long cont=0;
long n,q,a,b,sg;
void solve(){
cin>>n>>q;
while(q--)
{
cin>>a>>b;
if(a>b) swap(a,b);
grafo[a].insert(b);
}
for(long i=1;i<=n;i++)
{
if(!grafo[i].empty()){
cont+=grafo[i].size();
sg=*grafo[i].begin();
grafo[i].erase(grafo[i].begin());
if(grafo[sg].size()<grafo[i].size()) swap(grafo[i],grafo[sg]);
for(auto x:grafo[i]) grafo[sg].insert(x);}
grafo[i].clear();
}
cout<<cont;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |