Pagini recente » Cod sursa (job #1015767) | Cod sursa (job #2481452) | Cod sursa (job #1278354) | Cod sursa (job #1247268) | Cod sursa (job #1261282)
#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(int n)
{
nod *p;
viz[n]=1;
for(p=a[n];p!=0;p=p->urm)if(viz[p->val]==0)dfs(p->val);
}
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(i);
printf("%d",z);
return 0;
}