Cod sursa(job #2674742)

Utilizator ArsenieArsenie Vlas Arsenie Data 20 noiembrie 2020 00:35:18
Problema Parcurgere DFS - componente conexe Scor 45
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
#define ll long long int
#define double long double
#define pb push_back
#define endl '\n'
#define er erase
#define sz size
#define in insert
#define mp make_pair
#define f first
#define s second
#define mod 1000000007
//#define inf 1000000000
using namespace std;

ifstream fin("dfs.in");
ofstream fout("dfs.out");

ll cnt, b[1000], n, m;
vector<ll> a[1000];

void DFS(ll s)
{
    b[s]=1;
    for(ll i=0;i<a[s].sz();i++)
    {
        if(b[a[s][i]]==0) DFS(a[s][i]);
    }
}

int main(){

    fin>>n>>m;
    for(ll j=1;j<=m;j++)
    {
        ll x, y;
        fin>>x>>y;
        a[x].pb(y);
        a[y].pb(x);
    }
    for(ll i=1;i<=n;i++)
    {
        if(b[i]==0)
        {
        DFS(i);
        cnt++;
        }
    }
    fout<<cnt;
    return 0;
}