Cod sursa(job #2570128)

Utilizator yo_andrei_2003Murica Andrei yo_andrei_2003 Data 4 martie 2020 15:13:00
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cstdio>
#include <iostream>
#include <vector>

using namespace std;
vector<int> v[100003];
int st[100003];
void dfs (int a) {
    st[a]=1;
    for (int b=0;b<v[a].size();b++) {
        if (st[v[a][b]]==0) {
            dfs(v[a][b]);
        }
    }
}
int main()
{
    int a, n, m, b, i;
    FILE *fin, *fout;
    fin=fopen("dfs.in" ,"r");
    fout=fopen("dfs.out" ,"w");
    fscanf(fin, "%d%d" ,&n ,&m);
    for (i=0;i<m;i++) {
        fscanf(fin, "%d%d" ,&a ,&b);
        v[a].push_back(b);
        v[b].push_back(a);
    }
    int t=0;
    for (i=1;i<=n;i++) {
        if (st[i]==0) {
            t++;
            dfs(i);
        }
    }
    fprintf(fout, "%d" ,t);
    return 0;
}