Cod sursa(job #1092431)

Utilizator rughibemBelcineanu Alexandru Ioan rughibem Data 27 ianuarie 2014 00:23:04
Problema Parcurgere DFS - componente conexe Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<stdio.h>
#include<vector>
#define DIM 100005
using namespace std;

FILE *f=fopen("dfs.in","r"), *g=fopen("dfs.out","w");

vector<int> list[DIM];
long int n, m, nr=0, v[DIM];

void citire(){
long int i, x, y;

    fscanf(f,"%ld %ld\n",&n,&m);
    for(i=1;i<=n;i++){
        fscanf(f,"%ld %ld",&x,&y);
        list[x].push_back(y);
        list[y].push_back(x);
    }

}

void PIA(long int x){
long int i;

    v[x]=1;
    for(i=0; i< list[x].size(); i++){
        if( v[ list[x][i] ]==0 ){ PIA( list[x][i] ); }
    }

}

void rezolvare(){
long int i;

    for(i=1;i<=n;i++){
        if(v[i]==0){nr++; PIA(i);}
    }
    fprintf(g,"%ld\n",nr);

}

int main(){

    citire();
    rezolvare();

return 0;
}