Cod sursa(job #3316940)

Utilizator AlexFolea22Alexandru Folea AlexFolea22 Data 21 octombrie 2025 14:40:33
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <bits/stdc++.h>
#include <queue>
#include <vector>
using namespace std;
priority_queue <pair<int, int>> maxHeap;
queue<int> q;
int a[101][101];
vector <int> L[101];
int vis[100001];

void dfs(int x) {
    vis[x] = 1;

    for (int v : L[x]) {
        if (vis[v] == 0) {
            dfs(v);
        }
    }
}
int main()
{
    int n, m, cnt = 0;
    cin >> n >> m;
    int x, y;
    while (cin >> x >> y) {
        L[x].push_back(y);
        L[y].push_back(x);
    }
    for (int i = 1; i <= n; i++) {
        sort(L[i].begin(), L[i].end());
        L[i].erase(unique(L[i].begin(), L[i].end()), L[i].end());
        //  cout << L[i].size() << ' ';
        for (int j = 0; j < L[i].size(); j++) {
            //  cout << L[i][j]<<' ';
        }
        //  cout<<'\n';
    }
    for (int i = 1; i <= n; i++) {
        if (vis[i] == 0) {
            cnt++;
            dfs(i);
        }
    }
    cout << cnt;
}