Cod sursa(job #1774785)

Utilizator tudoroprisTudor Opris tudoropris Data 9 octombrie 2016 14:23:24
Problema Parcurgere DFS - componente conexe Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>

using namespace std;

vector<int>G[100001];
bool used[100001];
int nrdfs;

ifstream in("dfs.in");
ofstream out("dfs.out");

void dfs(int node)
{
    used[node]=true;
    for(int i=0; i<G[node].size(); i++)
    {
        if(used[G[node][i]] == false)
        {
            dfs(G[node][i]);
        }
    }
}

int main()
{
    int n,m,a,b,i;
    in>>n>>m;
    for(i=1; i<=n; i++)
    {
        in>>a>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    for(i=1; i<=n; i++)
    {
        if(used[i] == false)
        {
            dfs(i);
            nrdfs++;
        }
    }
    out<<nrdfs;
}