Cod sursa(job #1828724)

Utilizator Diana523Dobrescu Diana Diana523 Data 13 decembrie 2016 20:04:05
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n,c[10001],a[100001][100001],p,u,m,v[10001],nrc;


void citire()
{  fin>>n>>m;
    int k,i,j;
    for(k=1;k<=m;k++)
    {fin>>i>>j;
a[i][j]=a[j][i]=1;}}



void adancime(int k)
{
    int i;
    v[k]=1;
    u++;
    c[u]=k;
    for(i=1;i<=n;i++)
    if(v[i]==0 && a[k][i]==1)
    adancime(i);
}

void conex1()
{
int i,j;
for(i=1;i<=n;i++)
if(v[i]==0)
{
nrc++;
u=0;
adancime(i);
}
}

void conex2()
{
int nrc=0,i,j;
for(i=1;i<=n;i++)
if(v[i]==0)
{
nrc++;
u=0;
adancime(i);
for(j=1;j<=u;j++)
fout<<c[j]<<" ";
fout<<endl;
}}


int main()
{
   citire();
   conex1();
   fout<<nrc<<endl;


    return 0;
}