Cod sursa(job #2083874)

Utilizator StormieNerevarSarmasan SaSa StormieNerevar Data 8 decembrie 2017 11:33:08
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream f("DFS.in");
ofstream g("DFS.out");

vector <int> G[100010];
int n,m,comp,viz[100010];

void DFS(int nod,int comp)
{
    viz[nod]=comp;
    for(int i=0;i<G[nod].size();i++)
        if(!viz[G[nod][i]]) DFS(G[nod][i],comp);
}

int main()
{
    f>>n>>m;
    while(m--)
    {
        int a,b;
        f>>a>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    for(int i=1;i<=n;i++)
        if(!viz[i]) DFS(i,++comp);
    g<<comp;
    f.close();
    g.close();
    return 0;
}