Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include<cstdlib>
- using namespace std;
- ifstream f("componenteconexe.in");
- ofstream g("componenteconexe.out");
- int a[101][101],n,viz[101],q[101],p,u,m;
- 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]==1 && viz[i]==0)
- {
- q[++u]=i;
- viz[i]=nrc;
- }
- }
- }
- int main()
- {
- f>>n;
- int x,y, nrc=0,i,j;
- while(f>>x>>y)
- a[x][y]=a[y][x]=1;
- for(i=1; i<=n; i++)
- if(!viz[i])
- {
- 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