Pagini recente » Cod sursa (job #1179765) | Cod sursa (job #885727) | Cod sursa (job #1657466) | Cod sursa (job #413745) | Cod sursa (job #2224215)
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
const int NMAX = 100000;
vector <int> v[NMAX + 1];
bool viz[NMAX + 1];
void dfs(int nod)
{
int i , len;
len = (int) v[nod].size();
viz[ nod ] = 1;
for(i = 0; i < len ; i ++)
if(!viz[ v[ nod ][ i ] ])
dfs(v[nod][ i ]);
}
int main(){
int n , m , i , a , b , tot;
freopen("dfs.in" , "r" , stdin);
freopen("dfs.out" , "w" , stdout);
scanf("%d%d" , &n , &m);
for(i = 1 ; i <= m ; i++)
{
scanf("%d%d", &a , &b);
v[ a ].push_back( b );
v[ b ].push_back( a );
}
tot = 0;
for( i = 1;i <= n ; i++ ){
if( !viz[i] )
{
tot ++ ;
dfs( i );
}
}
printf("%d" , tot);
return 0;
}