Cod sursa(job #2162596)

Utilizator libaliv26Petre Livia libaliv26 Data 12 martie 2018 12:03:50
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream f("dfs.in");
ofstream g("dfs.out");

const int NLIM=100005;
int n, m, insule=0;
bool vizitat[NLIM];
vector <int> muchii[NLIM];

void dfs(int nod)
    {vizitat[nod]=true;
    for(unsigned int i=0;i<muchii[nod].size();i++)
        {int vecin=muchii[nod][i];
        if(!vizitat[vecin])
            dfs(vecin);}
        }

void citire()
    {f>>n>>m;
    for(int i=1;i<=m;i++)
        {int x, y;
        f>>x>>y;
        muchii[x].push_back(y);
        muchii[y].push_back(x);}
    for(int i=1;i<=n;i++)
       {if(!vizitat[i])
          {insule+=1;
           dfs(i);}
       }
    }



int main()
{citire();
g<<insule<<"\n";
}