Cod sursa(job #1377472)

Utilizator bence21Bako Bence bence21 Data 5 martie 2015 22:06:12
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#include<list>
using namespace std;
list<unsigned int> t[100005];
bool volt[100005];
unsigned int n;
void dfs(unsigned int i)
{
    volt[i]=1;
    list<unsigned int>:: iterator it;
    for(it=t[i].begin();it!=t[i].end();it++)
        if(volt[*it]==0)
            dfs(*it);
}
int main()
{
    ifstream f("dfs.in");
    ofstream g("dfs.out");
    unsigned m,i,a,b,d=0;
    f>>n>>m;
    for(i=1;i<=m;i++)
    {
        f>>a>>b;
        t[a].push_back(b);
        t[b].push_back(a);
    }
    for(i=1;i<=n;i++)
        if(volt[i]==0)
    {
        d++;
        dfs(i);
    }
    g<<d;
    f.close();
    g.close();
    return 0;
}