Cod sursa(job #3366530)

Utilizator mrvalentynTime Limit Exceeded mrvalentyn Data 2 octombrie 2026 14:20:08
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;

const string FILENAME = "dfs";

ifstream f(FILENAME + ".in");
ofstream g(FILENAME + ".out");

#define cin f
#define cout g



int n,m;

vector<int> gg[100001];

int cmp[100001];
int cnt = 1;


void dfs(int curr) {
    cmp[curr] = cnt;
    for(int x : gg[curr]) {
        if(!cmp[x]) {
            cmp[x] = cnt;
            dfs(x);
        }
    }
    
}

int main() {    

    cin >> n >> m;

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


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

    cout << cnt - 1 << '\n';

    return 0;
}