Pagini recente » Cod sursa (job #1665187) | Cod sursa (job #3259588) | Cod sursa (job #381349) | Cod sursa (job #2979384) | Cod sursa (job #3297398)
#include <bits/stdc++.h>
#define NMAX 100000
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n, m, a, b;
int nr_comp;
vector<int> graf[NMAX + 2];
bool viz[NMAX + 2];
void DFS(int nod) {
viz[nod] = 1;
for (int vec : graf[nod]) {
if (!viz[vec]) {
DFS(vec);
}
}
}
int main() {
ios_base::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> n >> m;
while (m--) {
fin >> a >> b;
graf[a].emplace_back(b);
graf[b].emplace_back(a);
}
for (int i = 1; i <= n; i++) {
if (!viz[i]) {
nr_comp++;
DFS(i);
}
}
fout << nr_comp++;
return 0;
}