Pagini recente » Cod sursa (job #2340866) | Cod sursa (job #1433754) | Cod sursa (job #301938) | Cod sursa (job #1336001) | Cod sursa (job #1559596)
#include <cstdio>
#include <vector>
#include <iostream>
using namespace std;
#define DIM 100005
vector <vector <int> > Graph;
int visited[DIM], N, M, x, y;
void DFS(int nod);
int main() {
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d %d\n", &N, &M);
Graph.resize(N + 1);
for(int i = 1; i <= M; ++i) {
scanf("%d %d\n", &x, &y);
Graph[x].push_back(y);
Graph[y].push_back(x);
}
int answer = 0;
for(int i = 1; i <= N; ++i) {
if(!visited[i]) {
DFS(i);
++answer;
}
}
cout << answer << '\n';
}
void DFS(int nod) {
visited[nod] = 1;
for(auto x: Graph[nod]) {
if(!visited[x]) {
DFS(x);
}
}
}