Pagini recente » Cod sursa (job #384346) | Cod sursa (job #2976745) | Cod sursa (job #674151) | Cod sursa (job #3179700) | Cod sursa (job #1048151)
#include<stdio.h>
#include<vector>
using namespace std;
int i, j, n, m, viz[100001];
vector<int> G[100001];
void dfs(int x) {
if (viz[x] == 0) viz[0]++;
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 = 1, nc = 0;
while (i <= n) {
if(viz[i] == 0) {
dfs(i);
nc++;
}
i++;
}
printf ("%d\n", nc);
return 0;
}