Pagini recente » Cod sursa (job #2956869) | Cod sursa (job #2841446) | Cod sursa (job #2825946) | Profil maria_608 | Cod sursa (job #2404798)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
struct nod
{
int info;
nod *urm;
}*prim[100005];
int n,m,viz[100005];
void adin(nod *&prim,int x)
{
nod *nou=new nod;
nou->info=x;
nou->urm=prim;
prim=nou;
}
void citire()
{
int x,y,i;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x>>y;
adin(prim[x],y);
adin(prim[y],x);
}
}
void DFS(int x)
{
viz[x]=1;
for(nod *q=prim[x];q;q=q->urm)
if(viz[q->info]==0) DFS(q->info);
}
int main()
{
int nrc=0;
citire();
for(int i=1;i<=n;i++)
if(viz[i]==0)
{
nrc++;
DFS(i);
}
fout<<nrc;
return 0;
}