Pagini recente » Cod sursa (job #1091416) | Cod sursa (job #3155601) | Cod sursa (job #3273830) | Cod sursa (job #2312408) | Cod sursa (job #515394)
Cod sursa(job #515394)
#include<stdio.h>
#define N 100001
#define M 200001
long n,m,a1[M],a2[M],c[N],k,i,t;
void dfs(long v)
{c[v]=1;
for(k=1;k<=m;k++)
if(a1[k]==v&&c[a2[k]]==0)
dfs(a2[k]);
else
if(a2[k]==v&&c[a1[k]]==0)
dfs(a1[k]);}
int main()
{freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(k=1;k<=m;k++)
scanf("%ld%ld",&a1[k],&a2[k]);
for(i=1;i<=n;i++)
c[i]=0;
t=0;
for(i=1;i<=n;i++)
if(c[i]==0)
{t++;
dfs(i);}
printf("%ld\n",t);
fclose(stdin);
fclose(stdout);
return 0;}