Cod sursa(job #1832392)

Utilizator Liviu_Ionut_MoantaMoanta Ionut Liviu Liviu_Ionut_Moanta Data 19 decembrie 2016 22:00:01
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> L[100005];
int v[100005],f[100005];
int n,m,a,b,sol,i;
void bfs(int x){
    int p;
    int u;
    int i;
    p=1;
    u=1;
    int k;
    v[1]=x;
    f[x]=1;
    while(p<=u){
        for(i=0;i<L[x].size();i++){
            k=L[x][i];
            if(f[k]==0){
                f[k]=1;
                u++;
                v[u]=k;
            }
        }
        p++;
    }
}
int main(){
    fin>>n>>m;
    for(i=1;i<=m;i++){
        fin>>a>>b;
        L[a].push_back(b);
        L[b].push_back(a);
    }
    sol=0;
    for(i=1;i<=n;i++){
        if(f[i]==0){
            sol++;
            bfs(i);
        }
    }
    fout<<sol;
    return 0;
}