Cod sursa(job #921687)

Utilizator teo29bruh pls teo29 Data 21 martie 2013 10:51:21
Problema Parcurgere DFS - componente conexe Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <vector>
#define  max1 100000
#define  max2 200000
#include <stdio.h>

using namespace std;

int viz[max1];


int df(vector<int> v[max1],int x){
 viz[x] = 1;
  cout<<x<<" ";
 for(int i = 0;i < v[x].size(); ++i)
    if(viz[v[x][i]] == 0) df(v,v[x][i]);

}



int main()
{

    int n,m,i,j,a,b,k = 0;
    FILE *f,*g;
    f = fopen("dfs.in","r");
    g = fopen("dfs.out","w");
    vector <int> vec[max1];
     fscanf(f,"%d",&n);
     fscanf(f,"%d",&m);
        for( j = 0; j < m; j++){
          fscanf(f,"%d",&a);
          fscanf(f,"%d",&b);
          vec[a].push_back(b);
          vec[b].push_back(a);
        }
        for (i = 1; i <= n; i++) if (!viz[i]) { k++; df(vec,i);}
        fprintf(g,"%d", k);


}