Pagini recente » Cod sursa (job #2586728) | Cod sursa (job #12017) | Cod sursa (job #101411) | Cod sursa (job #1240105) | Cod sursa (job #471075)
Cod sursa(job #471075)
#include<stdio.h>
#include<vector>
#include<algorithm>
#include<deque>
using namespace std;
// just chilling ( e admiterea la unibuc maine :p, si nu am mai codat de mult.. )
#define NMAX 100005
vector< int > G[NMAX];
bool viz[NMAX];
void dfs( int nod )
{
vector< int >::iterator it;
viz[nod]=1;
for(it=G[nod].begin(); it!=G[nod].end(); ++it )
{
if( !viz[*it] )
{
viz[*it]=1;
dfs( *it );
}
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int N,M;
scanf("%d%d",&N,&M);
int a1,a2;
while( M-- )
{
scanf("%d%d",&a1,&a2);
G[a1].push_back(a2);
G[a2].push_back(a1);
}
int ANS=0;
for(int i=1; i<=N; ++i)
{
if( !viz[i] )
{
++ANS;
dfs(i);
}
}
printf("%d\n",ANS);
return 0;
}