Pagini recente » Cod sursa (job #685411) | Cod sursa (job #2367793) | Cod sursa (job #779606) | Cod sursa (job #2346615) | Cod sursa (job #359799)
Cod sursa(job #359799)
#include<fstream>
using namespace std;
typedef struct nod
{
int info;
nod*urm;
} *TNOD;
TNOD v[100001];
long n, m, i, j,nrc=0,vizitat[100001];
void citire()
{
int x, y;
TNOD p;
ifstream f("dfs.in");
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
p=new nod;
p->info=x;
p->urm=v[y];
v[y]=p;
p=new nod;
p->info=y;
p->urm=v[x];
v[x]=p;
}
f.close();
}
void dfs(int nod)
{
TNOD p;
vizitat[nod]=1;
for(p=v[nod];p!=NULL;p=p->urm)
if(!vizitat[p->info])
dfs(p->info);
}
void afisare()
{
ofstream g("dfs.out");
g<<nrc;
g.close();
}
int main()
{ int k;
citire();
for(k=1;k<=n;k++)
if(vizitat[k]==0)
{
nrc++;
dfs(k);
}
afisare();
return 0;
}