Pagini recente » Cod sursa (job #865472) | Cod sursa (job #2600046) | Cod sursa (job #1784508) | Cod sursa (job #2448252) | Cod sursa (job #699439)
Cod sursa(job #699439)
#include <cstdio>
#include <cstring>
#include <vector>
using namespace std;
#define NMAX 100001
#define pb push_back
int N, M, CC, i, x, y;
vector< int > G[NMAX];
bool Used[NMAX];
inline void Df( int Nod )
{
Used[Nod] = true;
for( vector< int >::iterator it = G[Nod].begin(); it != G[Nod].end(); ++it )
if( !Used[*it] )
Df( *it );
}
int main()
{
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
scanf("%d%d", &N, &M );
for( ; M--; )
{
scanf("%d%d", &x, &y );
G[x].pb( y );
G[y].pb( x );
}
memset( Used, false, sizeof(Used) );
for( i = 1, CC = 0; i <= N; ++i )
if( !Used[i] )
{
++CC;
Df( i );
}
printf("%d\n", CC );
return 0;
}