Cod sursa(job #1223848)

Utilizator T.C.11Tolan Cristian T.C.11 Data 29 august 2014 00:02:11
Problema Parcurgere DFS - componente conexe Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <list>

using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
list<int> L[100001];
int s[100001],n,m,x,y,k,i;
int dfs(int niv)
{
    s[niv]=k;
    list<int>::iterator it;
    for (it = L[niv].begin(); it != L[niv].end(); ++it)
    {
        if (s[*it]==0)
            return dfs(*it);
    }
};

int main()
{
    fin>>n>>m;
    for (i=1;i<=m;i++)
    {
        fin>>x>>y;
        L[x].push_back(y);
        L[y].push_back(x);
    }
    for (i=1;i<=n;i++)
    {
        if (s[i]==0)
        {
            k++;
            dfs(i);
        }
    }
    fout<<k;
    return 0;
}