Cod sursa(job #2030824)

Utilizator KleinWolfPop Dan Andrei KleinWolf Data 2 octombrie 2017 12:31:40
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
ifstream in ("dfs.in");
ofstream out ("dfs.out");
int n,m,cont;
vector <int>adiac[100001];
bool viz[100001];

void dfs (int k)
{
    for(int y=0;y<adiac[k].size();y++)
        if (!viz[adiac[k][y]])
    {
        cont++;
        viz[adiac[k][y]]=1;
        dfs(y);
    }
}

int main()
{
    int i,a,b;
    in>>n>>m;
    for(i=1;i<=m;i++)
    {
        in>>a>>b;
        adiac[a].push_back(b);
    }
    for(i=1;i<=n;i++)
    {
        dfs(i);
    }
    out<<cont;
}