Cod sursa(job #1227899)

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

#define lmax 100000

using namespace std;

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

vector <int>v[lmax];

int n,m,nr,x,y;

bitset <lmax>viz;

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

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

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();
}