Pagini recente » Cod sursa (job #2300791) | Cod sursa (job #638096) | Cod sursa (job #1870200) | Cod sursa (job #3030405) | Cod sursa (job #2544813)
#include <bits/stdc++.h>
#define INfile "dfs.in"
#define OUTfile "dfs.out"
#define LMax 100001
using namespace std;
ifstream fin(INfile);
ofstream fout(OUTfile);
vector<int> v[LMax];
int x, y, n, m;
int nrcmp, verif[LMax];
void DFS(int i) {
int urm, top = v[i].size();
for (int j = 0; j < top; ++j) {
urm = v[i][j];
if (verif[urm] == 0) {
verif[urm] = 1;
DFS(urm);
}
}
}
int main() {
fin >> n >> m;
for (int i = 1; i <= m; ++i)
fin >> x >> y, v[x].push_back(y), v[y].push_back(x);
for (int i = 1; i <= n; ++i) {
if (verif[i] == 0)
DFS(i), nrcmp++;
}
fout << nrcmp;
return 0;
}