Pagini recente » Cod sursa (job #129061) | Cod sursa (job #129010) | Cod sursa (job #892486) | Cod sursa (job #1079779) | Cod sursa (job #1048145)
#include<stdio.h>
#include<vector>
using namespace std;
int i, j, n, m, viz[100001];
vector<int> G[100001];
void dfs(int x) {
viz[x] = 1;
for (int t = 0; t < G[x].size(); t++)
if (viz[G[x][t]] == 0) dfs(G[x][t]);
}
int main () {
freopen ("dfs.in", "rt", stdin);
freopen ("dfs.out", "wt", stdout);
scanf ("%d%d", &n, &m);
int x, y;
for (int i = 0; i < m; i++) {
scanf ("%d%d", &x, &y);
G[x].push_back(y); G[y].push_back(x);
}
int i = 0, nc = 0;
while (i < n) {
dfs(i);
nc++; i++;
}
printf ("%d\n", nc);
return 0;
}