Cod sursa(job #2468172)

Utilizator Simi_bogdanSimion Bogdan Dumitru Simi_bogdan Data 5 octombrie 2019 13:15:58
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include<bits/stdc++.h>
using namespace std;
const int nmax=200000;
ifstream in("dfs.in");
ofstream out("dfs.out");
vector <int>G[nmax+5];
int viz[nmax+5];
int k=0;
void dfs(int i)
{
    int j;
    viz[i]=1;
    for(j=0;j<G[i].size();++j)
    {
        int vecin=G[i][j];
        if(viz[vecin]==0)
            dfs(vecin);
    }

}
void ver(int i)
{
    k++;
    dfs(i);
}
void re()
{
    int n,m;int p,q;
    in>>n>>m;
    for(int i=1;i<=m;++i)
    {
        in>>p>>q;
        G[q].push_back(p);
        G[p].push_back(q);

    }
    for(int i=1;i<=n;++i)
    {
        if(viz[i]==0)
        {
            ver(i);
        }
    }

}
int main()
{
    re();
    out<<k;
    return 0;
}