Pagini recente » Cod sursa (job #51706) | Cod sursa (job #1110827) | Cod sursa (job #2869458) | Cod sursa (job #366736) | Cod sursa (job #2570128)
#include <cstdio>
#include <iostream>
#include <vector>
using namespace std;
vector<int> v[100003];
int st[100003];
void dfs (int a) {
st[a]=1;
for (int b=0;b<v[a].size();b++) {
if (st[v[a][b]]==0) {
dfs(v[a][b]);
}
}
}
int main()
{
int a, n, m, b, i;
FILE *fin, *fout;
fin=fopen("dfs.in" ,"r");
fout=fopen("dfs.out" ,"w");
fscanf(fin, "%d%d" ,&n ,&m);
for (i=0;i<m;i++) {
fscanf(fin, "%d%d" ,&a ,&b);
v[a].push_back(b);
v[b].push_back(a);
}
int t=0;
for (i=1;i<=n;i++) {
if (st[i]==0) {
t++;
dfs(i);
}
}
fprintf(fout, "%d" ,t);
return 0;
}