Pagini recente » Cod sursa (job #1364588) | Cod sursa (job #1669296) | Cod sursa (job #405012) | Cod sursa (job #2614524) | Cod sursa (job #2819589)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
typedef struct nod
{
int x;
nod *a;
}*poznod;
poznod v[100005];
int f[100005]={0};
int n,m;
void adaugare(poznod &dest,int val)
{
poznod p;
p=new nod;
p->x=val;
p->a=dest;
dest=p;
}
void citire()
{
fin>>n>>m;
int x,y;
for (int i=1;i<=m;i++)
{
fin>>x>>y;
adaugare(v[x],y);
adaugare(v[y],x);
}
}
void DFS(int nod)
{
poznod p;
f[nod]=1;
for (p=v[nod];p!=NULL;p=p->a)
{
if (!f[p->x]){
DFS(p->x);
}
}
}
int main()
{
citire();
int ans=0;
for (int i=1;i<=n;i++)
{
if(f[i]==0)
{
ans++;
DFS(i);
}
}
fout<<ans;
}