Pagini recente » Cod sursa (job #1515876) | Cod sursa (job #274028) | Cod sursa (job #1952568) | Cod sursa (job #2003919) | Cod sursa (job #781351)
Cod sursa(job #781351)
#include <cstdio>
#include <cstdlib>
#include <vector>
using namespace std;
#define nmax 100010
int used[nmax], N, M, X, Y;
vector<int> G[nmax];
void DFS(int node)
{
for(vector<int> :: iterator it = G[node].begin(); it != G[node].end(); ++it)
if(!used[*it])
used[*it] = 1, DFS(*it);
}
int main()
{
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
int i;
scanf("%i %i", &N, &M);
for(; M; M --)
{
scanf("%i %i", &X, &Y);
G[X].push_back(Y);
G[Y].push_back(X);
}
int ans = 0;
for(i = 1; i <= N; i++)
if(!used[i])
ans ++, DFS(i);
printf("%i\n", ans);
return 0;
}