Pagini recente » Cod sursa (job #2431634) | Cod sursa (job #3198873) | Cod sursa (job #2730267) | Cod sursa (job #2937905) | Cod sursa (job #1221201)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
struct nod
{
int inf;
nod *urm;
};
int n,m,nrc,s[100010];
nod *l[100010];
void citire()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
{
int a,b;
fin>>a>>b;
nod *v;
v=new nod;
v->inf=b;
v->urm=l[a];
l[a]=v;
v=new nod;
v->inf=a;
v->urm=l[b];
l[b]=v;
}
}
void dfs(int k)
{
s[k]=nrc;
for(nod *p=l[k];p;p=p->urm)
if(s[p->inf]==0)
dfs(p->inf);
}
int main()
{
citire();
nrc=0;
for(int i=1;i<=n;i++)
if(s[i]==0)
nrc++,dfs(i);
fout<<nrc;
return 0;
}