Pagini recente » Cod sursa (job #2559149) | Cod sursa (job #660062) | Cod sursa (job #23380) | Cod sursa (job #3146211) | Cod sursa (job #220394)
Cod sursa(job #220394)
#include <fstream>
using namespace::std;
int n,m,viz[100000];
ifstream in("dfs.in");
ofstream out("dfs.out");
typedef struct nod
{int x;nod* a;} *pNod;
pNod v[100000];
void add(pNod &dest,int val)
{pNod p;
p=new nod;
p->x=val;
p->a=dest;
dest=p;}
void citire()
{int x,y;
in>>n;in>>m;
for(int i=1;i<=m;i++)
{
in>>x;in>>y;
add(v[x],y);add(v[y],x);}}
void dfs(int d)
{pNod p;
viz[d]=1;
for(p=v[d];p!=NULL;p=p->a)
if(!viz[p->x]) {viz[p->x]=1;dfs(p->x);}
}
int main()
{citire();
int nrc=0;
for(int i=1;i<=n;i++) if(!viz[i]) {nrc++;dfs(i);}
out<<nrc;
return 0;
}