YEZAELP

SMMR-155: London Bridge

Jun 8th, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int parent[100001];
  4. int n,m,cnt=0;
  5.  
  6. int root(int u){
  7.     if(parent[u]==u) return u;
  8.     return parent[u]=root(parent[u]);
  9. }
  10. void mrg(int u,int v){
  11.     u=root(u);
  12.     v=root(v);
  13.     if(u==v) return ;
  14.     parent[u]=v;
  15.     cnt++;
  16. }
  17. int main(){
  18.  
  19.     scanf("%d %d",&n,&m);
  20.     int u[m+1],v[m+1];
  21.     for(int i=m;i>=1;i--){
  22.         parent[i]=i;
  23.         scanf("%d %d",&u[i],&v[i]);
  24.     }
  25.     int i;
  26.     for( i=1;i<=m;i++){
  27.         mrg(u[i],v[i]);
  28.         if(cnt+1==n) break;
  29.     }
  30.     printf("%d",m-i);
  31.  
  32.  
  33.     return 0;
  34. }
Add Comment
Please, Sign In to add comment