Pagini recente » Cod sursa (job #3127399) | Cod sursa (job #2812426) | Cod sursa (job #2390013) | Cod sursa (job #317691) | Cod sursa (job #151980)
Cod sursa(job #151980)
#include <cstdio>
#include <vector>
using namespace std;
#define NX 100010
#define pb push_back
#define tr(X,i) \
for( vi::iterator i = X.begin(); i != X.end(); i++ )
typedef vector< int > vi;
vi G[ NX ];
int V, E, col[ NX ], k;
void cit() {
int u, v;
scanf( "%d%d", &V, &E );
for( ; E; E-- ) {
scanf( "%d%d", &u, &v );
G[ u ].pb( v );
G[ v ].pb( u );
}
}
void DFS( int u ) {
col[ u ] = 1;
tr( G[u], v )
if( col[ *v ] == 0 )
DFS( *v );
}
void rez() {
int i;
for( i = 1, k = 0; i <= V; i++ )
if( col[ i ] == 0 )
k++, DFS( i );
}
void scr() {
printf( "%d\n", k );
}
int main() {
freopen( "dfs.in", "r", stdin );
freopen( "dfs.out", "w", stdout );
cit();
rez();
scr();
return 0;
}