Pagini recente » Cod sursa (job #3213010) | Cod sursa (job #2706466) | Cod sursa (job #407039) | Cod sursa (job #527707) | Cod sursa (job #1918536)
#include <cstdio>
using namespace std;
int n,m,viz[100005],cnt,x,i,y;
typedef struct nod
{
int inf;
nod *leg;
} *pNod;
pNod v[100005];
void add(pNod &dest, int val)
{
pNod p;
p=new nod;
p->inf= val;
p->leg= dest;
dest= p;
}
void dfs(int nod)
{
pNod p;
viz[nod]=1;
for (p=v[nod];p!=0;p=p->leg)
if (viz[p->inf]==0) dfs(p->inf);
}
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(v[x],y);
add(v[y],x);
}
for (i=1;i<=n;i++)
if (viz[i]==0) { cnt++; dfs(i);}
printf("%d\n",cnt);
return 0;
}