Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <algorithm>
- #define Nmax 101
- using namespace std;
- ifstream f("componenteconexe.in");
- ofstream g("componenteconexe.out");
- int comp_con[Nmax][Nmax],cd[Nmax],n;
- bool muchie[Nmax][Nmax],viz[Nmax];
- void BF(int nod)
- {
- int primul=0,ultimul=1;
- cd[ultimul]=nod;
- while(++primul<=ultimul)
- {
- nod=cd[primul];
- for(int i=1;i<=n;++i)
- if(muchie[nod][i]&&!viz[i])
- cd[++ultimul]=i,viz[i]=true;
- }
- ++comp_con[0][0],comp_con[comp_con[0][0]][0]=ultimul;
- for (int i=1;i<=ultimul;++i)
- comp_con[comp_con[0][0]][i]=cd[i];
- }
- int main()
- {
- int x,y;
- f>>n;
- while(!f.eof())
- f>>x>>y,muchie[x][y]=muchie[y][x]=true;
- for(int i=1;i<=n;++i)
- if(!viz[i])
- viz[i]=true,BF(i);
- g<<comp_con[0][0]<<'\n';
- for(int i=1;i<=comp_con[0][0];++i)
- {
- sort(comp_con[i]+1,comp_con[i]+comp_con[i][0]+1);
- for(int j=1;j<=comp_con[i][0];++j)
- g<<comp_con[i][j]<<' ';
- g<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement