Pagini recente » Cod sursa (job #266734) | Cod sursa (job #2743661) | Cod sursa (job #2116200) | Cod sursa (job #2941669) | Cod sursa (job #2457274)
#include <iostream>
#include <fstream>
#include <vector>
#define pb push_back
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
const int MAXN = 1e5;
vector<int> edges[MAXN];
int n, m, nr{0};
bool visited[MAXN];
void read() {
int x, y;
fin >> n >> m;
for (int i = 0; i < m; ++i) {
fin >> x >> y;
edges[x].pb(y);
edges[y].pb(x);
}
}
void dfs(int node) {
visited[node] = true;
for (auto &ind: edges[node])
if (!visited[ind])
dfs(ind);
}
int main() {
read();
for (int i = 1; i <= n; ++i)
if (!visited[i]) {
++nr;
dfs(i);
}
fout << nr;
return 0;
}