Cod sursa(job #1227900)

Utilizator robertstrecheStreche Robert robertstreche Data 12 septembrie 2014 07:40:59
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <bitset>
#include <vector>

#define lmax 100005

using namespace std;

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

vector <int>v[lmax];

long long n,m,nr,x,y;

bitset <lmax>viz;

void dfs(int k)
{
    viz[k]=1;

    for (int j=0;j<v[k].size();j++)
     if (viz[v[k][j]]==0)
      dfs(v[k][j]);
}

int main()
{
    f>>n>>m;

    for (int i=1;i<=m;i++)
     {
         f>>x>>y;

         v[x].push_back(y);
     }

    for (int i=1;i<=n;i++)
     if (viz[i]==0)
      {
          dfs(i);
          nr++;
      }

      g<<nr;

   f.close();
   g.close();
}