Pagini recente » Cod sursa (job #1653366) | Cod sursa (job #1063860) | Cod sursa (job #1204240) | Cod sursa (job #955469) | Cod sursa (job #2837125)
#include <bits/stdc++.h>
#define MAXN 100005
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector<int> v[MAXN];
int n, m;
bool vizitat[MAXN];
int nrComp;
void citire() {
int x, y;
fin >> n >> m;
for (int i = 1; i <= m; i ++) {
fin >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
}
void afisare() {
for (int i = 1; i <= n; i ++) {
cout << i << ": ";
for (auto e : v[i])
cout << e << ' ';
cout << endl;
}
}
void dfs(int nod) {
vizitat[nod] = true;
for (auto e : v[nod])
if (!vizitat[e])
dfs(e);
}
int main() {
citire();
for (int i = 1; i <= n; i ++)
if (!vizitat[i]) {
dfs(i);
nrComp ++;
}
fout << nrComp;
// afisare();
return 0;
}