Cod sursa(job #2239699)

Utilizator DavidDragulinDragulin David DavidDragulin Data 11 septembrie 2018 18:01:08
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> v[100009];
int n,m,i,a,b,nr;
bool d[100009];
void dfs(int nod)
{
    int i;
    d[nod]=1;
    for(i=0;i<v[nod].size();i++)
    {
        if(d[v[nod][i]]==0)
            dfs(v[nod][i]);
    }
}
int main()
{
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b;
        v[a].pb(b);
        v[b].pb(a);
    }
    for(i=1;i<=n;i++)
    {
        if(d[i]==0)
        {
            nr++;
            dfs(i);
        }
    }
    fout<<nr;
    return 0;
}