Pagini recente » Cod sursa (job #572353) | Cod sursa (job #1438111) | Cod sursa (job #1738434) | Cod sursa (job #1973841) | Cod sursa (job #2063407)
#include <stdio.h>
#include <stdlib.h>
#include <vector>
using namespace std;
#define MAXN 100000
vector <int> g[MAXN+1];
char seen[MAXN+1];
void dfs(int node) {
int i, l;
seen[node]=1;
l=g[node].size();
for(i=0; i<l; i++)
if(seen[g[node][i]]!=1)
dfs(g[node][i]);
}
int main()
{
int n, m, x, y, i, nr;
FILE *fi, *fo;
fi = fopen("dfs.in", "r");
fo = fopen("dfs.out", "w");
fscanf(fi, "%d%d", &n, &m);
for(i=0; i<m; i++) {
fscanf(fi, "%d%d", &x, &y);
g[x].push_back(y);
g[y].push_back(x);
}
nr=0;
for(i=1; i<=n; i++)
if(seen[i]==0) {
dfs(i);
nr++;
}
fprintf(fo, "%d", nr);
return 0;
}