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