Cod sursa(job #3222691)

Utilizator vslchdrsVasilache Darius vslchdrs Data 11 aprilie 2024 12:18:45
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <vector>
#include <queue>

using namespace std;
#define cin fin
#define cout fout

ifstream cin("dfs.in");
ofstream cout("dfs.out");

#define maxn 1005
int a[maxn][maxn], n, m, viz[maxn], c;

void dfs(int nod) {
    viz[nod] = 1;
    for (int i = 1; i <= n; ++i) {
        if (!viz[i] && a[nod][i]){
            dfs(i);
        }
    }
}


int main() {
    cin >> n >> m;

    for (int i = 1; i <= m; ++i) {
        int x ,y;
        cin >> x >> y;
        a[y][x] = a[x][y] = 1;
    }

    for (int i = 1; i <= n; ++i) {
        if ( !viz[i] ) {
            c++;
            dfs(i);
        }
    }

    cout << c;
}