Cod sursa(job #864577)

Utilizator alex14Sfirlea alex alex14 Data 25 ianuarie 2013 12:55:48
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<cstdio>
using namespace std;
#define nmax 100000
#include<vector>
bool viz[100000];
vector < int > v[100000];
int x,y,nrc,i,n;
void cit();
void DFS(int);
int main()
{
    cit();
    for(i=1;i<=n;i++)
    {
        if(!viz[i])
        {
            nrc++;
            DFS(i);
        }
    }
  freopen("dfs.out","w",stdout);
  printf("%d",nrc);
    return 0;
}
void cit()
{
    freopen("dfs.in","r",stdin);
     int m,i;
     scanf("%d %d", &n, &m);
     for(i=0;i<m;i++)
     {
         scanf("%d%d", &x, &y);
         v[x].push_back(y);
     }
}
void DFS(int x)
{
    int i,vf;
    viz[x]=1;
    for(i=0;i<v[x].size();i++)
    {
        vf=v[x][i];
        if(!viz[vf])
        DFS(vf);
    }
}