Advertisement
nicuvlad76

Untitled

Dec 17th, 2020
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define N 105
  3. using namespace std;
  4. ifstream fin("componenteconexe.in");
  5. ofstream fout("componenteconexe.out");
  6. int n,a[N][N] ;
  7. int viz[N],x[N],nrc;
  8. void BFS(int varf, int nrc)
  9. {
  10. int st, dr;
  11. st=dr=1;
  12. viz[varf]=nrc;
  13. x[1]=varf;
  14. while(st<=dr)
  15. {
  16. int k=x[st++];
  17. for(int i=1; i<=n; i++)
  18. if(viz[i]==0 && a[k][i]==1)
  19. {
  20. x[++dr]=i;
  21. viz[i]=nrc;
  22. }
  23. }
  24. }
  25. void Citire()
  26. {
  27. fin>>n;
  28. int i,j;
  29. while(fin>>i>>j)a[i][j]=a[j][i]=1;
  30. }
  31. void Sol()
  32. {
  33. for(int i=1; i<=n; i++)
  34. if(viz[i]==0)
  35. {
  36. nrc++;
  37. BFS(i,nrc);
  38. }
  39.  
  40. }
  41. void Afisare()
  42. {
  43. fout<<nrc<<"\n";
  44. for(int i=1; i<=nrc; i++)
  45. {
  46. for(int j=1; j<=n; j++)
  47. if(viz[j]==i)fout<<j<<" ";
  48. fout<<'\n';
  49. }
  50. }
  51. int main()
  52. {
  53. Citire();
  54. Sol();
  55. Afisare();
  56. return 0;
  57. }
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement