Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include<cstdlib>
  4. using namespace std;
  5. ifstream f("componenteconexe.in");
  6. ofstream g("componenteconexe.out");
  7. int a[101][101],n,viz[101],q[101],p,u,m;
  8.  
  9. void BFS(int start, int nrc)
  10. {
  11. q[1]=start;
  12. viz[start]=nrc;
  13. p=u=1;
  14. while(p<=u)
  15. {
  16. int x=q[p++];
  17. for(int i=1; i<=n; i++)
  18. if(a[x][i]==1 && viz[i]==0)
  19. {
  20. q[++u]=i;
  21. viz[i]=nrc;
  22. }
  23. }
  24.  
  25.  
  26. }
  27.  
  28. int main()
  29. {
  30. f>>n;
  31. int x,y, nrc=0,i,j;
  32. while(f>>x>>y)
  33. a[x][y]=a[y][x]=1;
  34.  
  35.  
  36. for(i=1; i<=n; i++)
  37. if(!viz[i])
  38. {
  39. nrc++;
  40. BFS(i,nrc);
  41. }
  42. g<<nrc<<'\n';
  43. for(i=1; i<=nrc; i++)
  44. {
  45. for(j=1; j<=n; j++)
  46. if(viz[j]==i)
  47. g<<j<<" ";
  48. g<<'\n';
  49. }
  50.  
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement