Pagini recente » Cod sursa (job #2131670) | Cod sursa (job #505604) | Cod sursa (job #1833762) | Monitorul de evaluare | Cod sursa (job #1614299)
#include <cstdio>
#include <vector>
using namespace std;
#define Nmax 100005
vector <int> ad[Nmax] ;
bool viz[Nmax] ;
int n , m , cnt , a , b ;
void dfs ( int nod )
{
if ( viz[nod] ) return ;
viz[nod] = true ;
for ( int i = 0 ; i < ad[nod].size() ; i++ )
{
dfs(ad[nod][i]) ;
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d %d",&n,&m);
for ( int i = 1 ; i <= m ; i++ )
{
scanf("%d %d",&a,&b);
ad[a].push_back(b) ;
ad[b].push_back(a) ;
}
for (int i = 1 ; i <= n ; i++ )
{
if ( viz[i]==false )
{
dfs(i);
cnt++;
}
}
printf("%d ",cnt);
}