Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int parent[100001];
- int n,m,cnt=0;
- int root(int u){
- if(parent[u]==u) return u;
- return parent[u]=root(parent[u]);
- }
- void mrg(int u,int v){
- u=root(u);
- v=root(v);
- if(u==v) return ;
- parent[u]=v;
- cnt++;
- }
- int main(){
- scanf("%d %d",&n,&m);
- int u[m+1],v[m+1];
- for(int i=m;i>=1;i--){
- parent[i]=i;
- scanf("%d %d",&u[i],&v[i]);
- }
- int i;
- for( i=1;i<=m;i++){
- mrg(u[i],v[i]);
- if(cnt+1==n) break;
- }
- printf("%d",m-i);
- return 0;
- }
Add Comment
Please, Sign In to add comment