Pagini recente » Cod sursa (job #2672860) | Cod sursa (job #12507) | Cod sursa (job #1128517) | Cod sursa (job #349168) | Cod sursa (job #772809)
Cod sursa(job #772809)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> A[100001];
int ok[100001];
long N,M,i,j,k,total;
void dfs (int crt)
{
int i,k=A[crt].size();
for (i=0; i<k; i++)
if (!ok[A[crt][i]])
{
ok[A[crt][i]]=1;
dfs(A[crt][i]);
}
}
int main () {
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
scanf("%d %d", &N, &M);
for (i=1; i<=M; i++)
{
scanf("%d %d", &j, &k);
A[j].push_back(k);
A[k].push_back(j);
}
for (i=1; i<=N; i++)
if (!ok[i]) total++, dfs(i);
printf("%d\n", total);
fclose(stdin); fclose(stdout);
return 0;
}