Pagini recente » Cod sursa (job #1104765) | Cod sursa (job #714247) | Cod sursa (job #1384421) | Cod sursa (job #36617) | Cod sursa (job #749279)
Cod sursa(job #749279)
#include<cstdio>
#include<vector>
using namespace std;
int val,nr,p,u,x1,y1,n,m,i,d[100010],x[100010];
vector < int > h[100010];
vector < int >::iterator it;
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d",&n);
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%d",&x1);
scanf("%d",&y1);
h[x1].push_back(y1);
h[y1].push_back(x1);
}
for(i=1;i<=n;i++)
if(d[i]==0)
{
d[i]=1;
x[1]=i;
p=1;
u=1;
nr++;
while(p<=u)
{
for(it=h[x[p]].begin();it!=h[x[p]].end();it++)
{
val=*it;
if(d[*it]==0)
{
u++;
x[u]=*it;
d[*it]=1;
}
}
p++;
}
}
printf("%d\n",nr);
return 0;
}