Pagini recente » Cod sursa (job #2610442) | Cod sursa (job #1216863) | Cod sursa (job #2978427) | Cod sursa (job #430693) | Cod sursa (job #2315951)
#include <bits/stdc++.h>
std::vector < int > g[100001];
int d[100001];
void mrk( int nd ) {
int i;
d[nd] = 1;
for ( i = 0; i < g[nd].size(); i++ )
if ( d[g[nd][i]] == 0 )
mrk( g[nd][i] );
}
int main() {
FILE *fin, *fout;
int n, m, i, x, y, c = 0;
fin = fopen( "dfs.in", "r" );
fout = fopen( "dfs.out", "w" );
fscanf( fin, "%d%d", &n, &m );
for ( i = 0; i < n; i++ ) {
fscanf( fin, "%d%d", &x, &y );
g[x].push_back( y );
g[y].push_back( x );
}
for ( i = 1; i <= n; i++ ) {
if ( d[i] == 0 ) {
c++;
mrk( i );
}
}
fprintf( fout, "%d", c );
fclose( fin );
fclose( fout );
return 0;
}