Cod sursa(job #1586207)

Utilizator StrokeSimion Valentin Stroke Data 31 ianuarie 2016 21:13:29
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;
ifstream f ("dfs.in");
ofstream g ("dfs.out");
int x,y,i,j,n,m,nr,v[100000],b[100001][100001];

void dfs(int x)
{
    int i;

    v[x]=j;

    for(i=1;i<=b[x][0];++i)
        if(v[b[x][i]]==0)
            {

                ++nr;
                dfs(b[x][i]);

            }
}



int main()
{
    f>>n>>m;
    for(i=1;i<=m;++i)
    {
        f>>x>>y;
        ++b[x][0];
        b[x][b[x][0]]=y;

        ++b[y][0];
        b[y][b[y][0]]=x;
    }



    for(j=1;j<=n;++j)
        if(v[j]==0)
        {
            dfs(j);
        }

    g<<nr<<" "<<'\n';



    return 0;
}