Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <algorithm>
- using namespace std;
- ifstream in("componenteconexe.in");
- ofstream out("componenteconexe.out");
- int v[101][101],viz[101],n,c[101],d=1;
- void DFS(int nod,int nc)
- {
- int i;
- viz[nod]=nc;
- for(i=1 ; i<=n ; i++)
- if(v[nod][i]==1 && !viz[i])
- DFS(i,nc);
- }
- int main()
- {
- int m,x,i,a,b,e=0,h=1,j=1;
- in>>n;
- while(in>>a>>b)
- {
- v[a][b]=v[b][a]=1;
- x=a;
- }
- int p=1,nod,coada[101],nc=1;
- for(i=1 ; i<=n ; i++)
- {
- if(viz[i]==0)
- {
- DFS(i,nc);
- nc++;
- }
- }
- nc--;
- out<<nc<<"\n";
- for (int i=1; i<=nc; i++)
- {
- for (int j=1; j<=n; j++)
- {
- if (viz[j] == i)
- {
- out << j << " ";
- }
- }
- out << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement