Cod sursa(job #2355987)

Utilizator ChelaruGabrielaChelaru Gabriela ChelaruGabriela Data 26 februarie 2019 13:47:13
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
int viz[100005];
vector<int>graf[100005];
void DFS(int node)
{
    viz[node]=1;
    int lim=graf[node].size();
    for(int i=0;i<lim;i++)
    {
        int vecin=graf[node][i];
        if(!viz[vecin])
            DFS(vecin);
    }
}
int main()
{ int n, m, k=0;
fin>>n>>m;
     int i,a,b;
     for(i=1;i<=m;i++)
     {
         fin>>a>>b;
         graf[a].push_back(b);
         graf[b].push_back(a);
     }
    for(i=1;i<=n;i++)
    {
        if(!viz[i])
        {
            k++;
            DFS(i);
        }
    }
    fout<<k;
    fin.close();
    fout.close();
    return 0;
}