Pagini recente » Cod sursa (job #21383) | Cod sursa (job #2709384) | Cod sursa (job #2035242) | Rating valean alex (valeanalex19) | Cod sursa (job #497852)
Cod sursa(job #497852)
#include<stdio.h>
#include<vector.h>
#include<queue.h>
#define dim 100010
#define pb push_back
vector <int> v[dim];
queue <int> q;
char a[dim];
//----------------------------------------------------------------------
void add(int x,int y)
{
v[x].pb(y);
}
//----------------------------------------------------------------------
int n,m;
void read()
{
int x,y;
scanf("%d %d\n",&n,&m);
for(int i=1 ; i<=m;i++)
{
scanf("%d %d\n",&x,&y);
add(x,y);
add(y,x);
}
}
//----------------------------------------------------------------------
void parcurge(int i )
{
int x,k;
for(q.push(i) ; !q.empty() ; q.pop() )
{
x = q.front();
for(int i=0 ; i<v[x].size() ; i++ )
{
k = v[ x ] [ i ] ;
if ( !a[k] )
{
q.push(k);
a[k]=1;
}
}
}
}
//----------------------------------------------------------------------
void solve()
{
read();
int o=0;
for(int i=1 ; i<=n;i++)
{
if ( !a[i] )
{
parcurge(i);
o++;
}
}
printf("%d ",o);
}//----------------------------------------------------------------------
//----------------------------------------------------------------------
int main ()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
solve();
return 0;
}