Cod sursa(job #2355935)

Utilizator AlexNecula99Necula Florin-Alexandru AlexNecula99 Data 26 februarie 2019 13:31:06
Problema Parcurgere DFS - componente conexe Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int viz[100000];
vector <int> graph[100000];
void DFS(int node)
{
    viz[node]=1;
    int lim=graph[node].size();
    for(int i=0;i<lim;i++)
    {
        int vecin=graph[node][i];
        if(!viz[vecin])
            DFS(vecin);
    }
}

int main()
{
    ifstream f("dfs.in");
    ofstream g("dfs.out");
    int n,m;
    f>>n>>m;
    int i,a,b;
    for(i=0;i<m;i++)
    {
        f>>a>>b;
        graph[a].push_back(b);
        graph[b].push_back(a);
    }
    int answer=0;
    for(i=1;i<=n;i++)
        if(!viz[i])
        {
            answer++;
            DFS(i);
        }
    g<<answer;
}