Advertisement
Guest User

Untitled

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