Cod sursa(job #1826165)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 10 decembrie 2016 11:11:24
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include <fstream>
#include <vector>
#define DIM 100001
using namespace std;
int p,u,i,j,x,y,v[DIM],c[DIM],S,vecin,n,m,ap;

vector<int> L[100001];

void dfs (int nod){
    v[nod]  = 1;
    for (int i=0;i<L[nod].size();i++)
        if (v[ L[nod][i] ] == 0)
            dfs ( L[nod][i] );

}
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
int main (){

    fin>>n>>m>>S;
    for (i=1;i<=m;i++){
        fin>>x>>y;
        L[y].push_back(x);
        L[x].push_back(y);
    }

    for (i=1;i<=m;i++){
        if (v[i] == 0){
            ap++;
            dfs(n);
        }
    }
    fout<<ap;



    /*p = 1;
    u = 1;
    c[1] = S;
    v[S] = 1;
    while (p<=u){
        for (i=0;i<L[c[p]].size();i++){ // lungime
            vecin = L[c[p]][i];
            if (v[vecin] == 0){
                u++;
                c[u] = vecin;

                v[vecin] = 1+ v[ c[p] ];
                t[vecin] = c[p];
            }

        }
        p++;
    }
    for (i=1;i<=n;i++){
        fout<<v[i]-1<<" ";
    }


*/


    return 0;
}