Cod sursa(job #2374243)
Utilizator | Pop Mihali Marco Silviu marcogold | Data | 7 martie 2019 17:39:27 |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ofstream fo("dfs.out");
ifstream fi("dfs.in");
int n,m,a,b;
vector <int> vecini[100004];
int viz[100005],s;
void DFS(int curent)
{
viz[curent]=true;
for(auto v:vecini[curent])
if(viz[v]==false)
DFS(v);
}
int main()
{
fi>>n>>m;
for(int i=1; i<=m; i++)
{
fi>>a>>b;
vecini[a].push_back(b);
vecini[b].push_back(a);
}
for(int i=1; i<=n; i++)
if(viz[i]==false)
{
s++;
DFS(i);
}
fo<<s;
fi.close();
fo.close();
return 0;
}