Pagini recente » Cod sursa (job #2893963) | Cod sursa (job #1661253) | Cod sursa (job #1524930) | Cod sursa (job #2056692) | Cod sursa (job #1716329)
#include <cstdio>
using namespace std;
int n,m,i,j,nr,viz[100001],x,y;
struct nod{
int vf;
nod *urm;
};
nod *a[100001],*p;
void parc(int x)
{
viz[x]=1;
nod *p;
for (p=a[x];p!=NULL;p=p->urm)
if (!viz[p->vf]) parc(p->vf);
}
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);
p=new nod;
p->vf=y;
p->urm=a[x];
a[x]=p;
p=new nod;
p->vf=x;
p->urm=a[y];
a[y]=p;
}
for (i=1;i<=n;i++)
if (!viz[i]) {
viz[i]=1;
parc(i);
nr++;
}
printf("%d",nr);
}