Pagini recente » Cod sursa (job #1522516) | Cod sursa (job #978583) | Cod sursa (job #1958397) | Cod sursa (job #929303) | Cod sursa (job #779285)
Cod sursa(job #779285)
#include <cstdio>
#include <cstdlib>
#include <vector>
using namespace std;
#define nmax 100010
#define pb push_back
int N, M, used[nmax], sol, X, Y;
vector<int> G[nmax];
void DFS(int node);
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].pb(Y);
G[Y].pb(X);
}
for(i = 1; i <= N; i++)
if(!used[i])
sol ++, DFS(i);
printf("%i\n", sol);
scanf("%i", &i);
return 0;
}
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);
}