Pagini recente » Cod sursa (job #1398280) | Cod sursa (job #318481) | Cod sursa (job #479446) | Cod sursa (job #1722236) | Cod sursa (job #1261281)
#include<cstdio>
using namespace std;
int n,m,i,x,z,y,viz[100003];
struct nod
{
int val;
nod *urm;
}*a[100003];
void add(nod *&x,int y)
{
nod *p;
p=new nod;
p->val=y;
p->urm=x;
x=p;
}
void dfs(nod *n)
{
nod *p;
for(p=n;p!=0;p=p->urm)
if(viz[p->val]==0){viz[p->val]=1;dfs(p);}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d %d",&x,&y);
add(a[x],y);
add(a[y],x);
}
for(i=1;i<=n;i++)
if(viz[i]==0)z++,dfs(a[i]);
printf("%d",z);
return 0;
}