Advertisement
Guest User

Uil

a guest
Feb 24th, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. ifstream in("componenteconexe3.in");
  4. ofstream out("componenteconexe3.out");
  5. int a[101][101],x,y,n,nrc,v[101],minn,maxx;
  6. class sami
  7. {
  8. public:
  9. int nd,rpr;
  10. }c[101];
  11. inline void dfs(int r,int nrc,int &minn)
  12. {
  13. v[r]=nrc;
  14. for(int i=1;i<=n;i++)
  15. if(!v[i] && a[r][i])
  16. {
  17. if(minn>i)
  18. minn=i;
  19. dfs(i,nrc,minn);
  20. }
  21. }
  22. inline void citire()
  23. {
  24. in>>n;
  25. while(in>>x>>y)
  26. a[x][y]=a[y][x]=1;
  27. for(int i=1;i<=n;i++)
  28. if(!v[i])
  29. minn=i,dfs(i,++nrc,minn),c[nrc].rpr=minn;
  30. for(int k=1;k<=nrc;k++)
  31. for(int i=1;i<=n;i++)
  32. if(v[i]==k)
  33. c[k].nd++;
  34. minn=n+1;
  35. for(int i=1;i<=nrc;i++)
  36. if(maxx<c[i].nd)
  37. maxx=c[i].nd,minn=c[i].rpr;
  38. else if(maxx==c[i].nd && c[i].rpr<minn)
  39. minn=c[i].rpr;
  40. out<<minn<<" "<<maxx<<'\n';
  41. for(int i=1;i<=nrc;i++)
  42. cout<<c[i].rpr<<" "<<c[i].nd<<'\n';
  43. }
  44. int main()
  45. {
  46. citire();
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement