Cod sursa(job #2060941)

Utilizator vladcoroian2001Vlad Coroian vladcoroian2001 Data 8 noiembrie 2017 20:02:35
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream fi("dfs.in");
ofstream fo("dfs.out");
const int nmax=1e5+5;
int n,m,i,SEEN[nmax],comp,x,y;
vector <int> V[nmax];
void explore(int x)
{
    int i;
    SEEN[x]=1;
    for(i=0;i<V[x].size();i++)
    {
        y=V[x][i];
        if(!SEEN[y])
        {
            SEEN[y]=1;
            explore(y);
        }
    }
}
int main()
{
    fi>>n>>m;
    for(i=1;i<=m;i++)
    {
        fi>>x>>y;
        V[x].push_back(y);
        V[y].push_back(x);
    }
    for(i=1;i<=n;i++)
        if(!SEEN[i])
        {
            comp++;
            explore(i);
        }
    fo<<comp<<"\n";
    fi.close();
    fo.close();
    return 0;
}