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