Pagini recente » Cod sursa (job #2710876) | Cod sursa (job #618932) | Cod sursa (job #1706833) | Rating Lida Rani (Lidarani) | Cod sursa (job #534747)
Cod sursa(job #534747)
#include<stdio.h>
#include<vector>
#include<bitset>
#include<queue>
#include<algorithm>
using namespace std ;
#define pb push_back
#define dim 200002
queue<int> q;
int x,nr,n,m;
bitset<dim> viz;
vector <int> v[dim];
inline void add(int x , int y)
{
v[x].pb(y);
}
void read()
{
int x,y;
scanf("%d %d",&n,&m);
for(int i=1 ; i<=n;i++)
{
scanf("%d %d",&x,&y);
add(x,y);
add(y,x);
}
}
void solve ()
{
for(int i=1 ; i<=n ; i++)
{
if ( viz[i] == 0 )
{
nr++;
viz[i] = 1;
for(q.push ( i ) ; !q.empty() ; q.pop () )
{
x = q.front();
for(int k=0 ; k<v[x].size() ; k++)
if ( viz[v[x][k]] == 0 )
{
q.push(v[x][k]);
viz[v[x][k]] = 1;
}
}
}
}
}
int main ()
{
freopen("dfs.in","r",stdin);
read();
solve();
freopen("dfs.out","w",stdout);
printf("%d",nr);
return 0;
}