Pagini recente » Cod sursa (job #2470060) | Cod sursa (job #1506945) | Cod sursa (job #586446) | Cod sursa (job #576979) | Cod sursa (job #494090)
Cod sursa(job #494090)
#include <stdio.h>
struct nod {
int inf;
nod *next;
};
const int maxn=100001;
int i,n,m,viz[maxn],S=0;
nod *A[maxn];
void add(int x, int y)
{
nod *q=new nod;
q->inf=y;
q->next=A[x];
A[x]=q;
}
void citire()
{
int x,y;
scanf("%d %d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d %d",&x,&y);
add(x,y);
add(y,x);
}
}
void dfs(int p)
{
nod *x;
viz[p]=1;
for(x=A[p];x!=NULL;x=x->next)
if(viz[x->inf]==0)
dfs(x->inf);
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
citire();
for(i=1;i<=n;i++) viz[i]=0;
for(i=1;i<=n;i++)
if(viz[i]==0)
{
dfs(i);
S++;
}
printf("%d",S);
}