Cod sursa(job #2865589)

Utilizator Botnaru_VictorBotnaru Victor Botnaru_Victor Data 8 martie 2022 22:40:22
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
#define f(i,n) for(int i=0;i<n;i++)
#define ri(n) fscanf(in,"%i",&n)
#define w(n) fprintf(out,n);
#define wi(n) fprintf(out,"%i",n);
#define nmax 100001
using namespace std;

FILE* in=fopen("dfs.in","r");
FILE* out=fopen("dfs.out","w");

int n,m;
vector<int> adj[nmax];
bool vis[nmax];

void dfs(int nod)
{
    vis[nod]=1;
    for(auto e:adj[nod])
    {
        if(!vis[e]) dfs(e);
    }
}

int main()
{
    ri(n);
    ri(m);
    {
        int a,b;
        f(i,m)
        {
            ri(a);
            ri(b);
            adj[a].push_back(b);
            adj[b].push_back(a);
        }
    }
    int ans=0;
    f(i,n)
    {
        if(!vis[i+1])
        {
            ans++;
            dfs(i+1);
        }
    }
    wi(ans);
    return 0;
}