Pagini recente » Cod sursa (job #1963631) | Cod sursa (job #1481738) | Monitorul de evaluare | Cod sursa (job #632331) | Cod sursa (job #1773928)
#include <fstream>
#include <vector>
using namespace std;
vector<int> G[100010];
int viz[100010];
int n , m , x , y;
int cont = 0;
int comp[100010];
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
void DFS(int nod , int nr)
{
viz[nod] = 1;
comp[nod] = nr;
for(auto it:G[nod])
if(!viz[it])
DFS(it , nr);
}
int main()
{
fin >> n >> m;
for(int i = 1 ; i <= m ; i++){
fin >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
for(int i = 1 ; i <= n ; ++i){
if(!viz[i]){
cont++;
DFS(i , cont);
}
}
fout << cont;
return 0;
}