Pagini recente » Cod sursa (job #2824178) | Cod sursa (job #543559) | Cod sursa (job #312881) | Cod sursa (job #689310) | Cod sursa (job #3242917)
#include <iostream>
#include <fstream>
#include <vector>
#include <math.h>
#include <algorithm>
#include <set>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, k;
int x, y;
bool vizitat[105];
vector < int > muchii[105];
void dfs(int Nod)
{
vizitat[Nod] = true;
for (unsigned int i = 0;i < muchii[Nod].size();i++){
int vecini = muchii[Nod][i];
if (!vizitat[vecini]){
dfs(vecini);
}
}
}
int main()
{
f >> n >> m;
for (int i = 1;i <= m;i++){
f >> x >> y;
muchii[x].push_back(y);
muchii[y].push_back(x);
}
int insule = 0;
for (int i = 1;i <= n;i++){
if (!vizitat[i]){
dfs(i);
insule++;
}
}
g << insule;
}