Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream f("componenteconexe.in");
- ofstream g("componenteconexe.out");
- int a[101][101], q[101], viz[101], p, u, n, m, contor;
- void BFS(int start, int nrc)
- {
- q[1] = start;
- viz[start] = nrc;
- p = u = 1;
- while(p <= u)
- {
- int x = q[p++];
- for(int i = 1; i <= n; i++)
- if(a[x][i] && viz[i] == 0)
- {
- q[++u] = i;
- viz[i] = nrc;
- }
- }
- }
- int main()
- {
- int x, y, nrc = 0, i, j;
- f >> n;
- while(f >> x >> y)
- {
- a[x][y] = a[y][x] = 1;
- }
- for(i = 1; i <= n; i++)
- {
- if(viz[i] == 0)
- {
- nrc++;
- BFS(i,nrc);
- }
- }
- g << nrc << '\n';
- for(i = 1; i <= nrc; i++)
- {
- for(j = 1; j <= n; j++)
- if(viz[j] == i)
- g << j << ' ';
- g << '\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement