Cod sursa(job #2377906)

Utilizator NekoDanaBuda Elena-Dabiela NekoDana Data 11 martie 2019 13:46:51
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
int s[100005];
vector<int>a[100005];
void DF(int x)
{
    int vecin;
    s[x]=1;
    int k, lim=a[x].size();
    for(k=0;k<lim;k++)
    {
        vecin=a[x][k];
        if(!s[vecin])
            DF(vecin);
    }
}
int main()
{
    int i, X, M, Y, g=0, N;
    ifstream f("dfs.in");
    ofstream l("dfs.out");
    f>>N>>M;
    for(i=1;i<=M;i++)
    {
        f>>X>>Y;
        a[X].push_back(Y);
        a[Y].push_back(X);
    }
    for(i=1;i<=N;i++)
        if(s[i]==0)
        {
            g++;
            DF(i);
        }
    l<<g;
    f.close();
    l.close();
    return 0;
}