Pagini recente » Monitorul de evaluare | Cod sursa (job #992028) | Cod sursa (job #1265769) | Statistici lili bili (lili_bili) | Cod sursa (job #201970)
Cod sursa(job #201970)
#include <fstream>
#include <iostream>
# define MAX 100001
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
typedef struct nod
{
int inf;
nod * adr;
} *pnod;
pnod sir[MAX];
int n,m,verif[MAX];
int niv;
void baga(int a,int b)
{
pnod x=new nod;
x->inf=a;
x->adr=sir[b];
sir[b]=x;
}
void citire()
{
int a,b;
fin>>n>>m;
for (int i=0;i<=n;i++)
sir[i]=NULL;
for (int i=0;i<m;i++)
{
fin>>a>>b;
baga(a,b);
baga(b,a);
}
memset(verif,0,sizeof(verif));
}
void DF(int poz)
{
verif[poz]=1;
pnod x=sir[poz];
while (x)
{
if (verif[x->inf]==0)
DF(x->inf);
x=x->adr;
}
}
int main ()
{
citire();
for (int i=1;i<=n;i++)
if (verif[i]==0)
{
niv++;
DF(i);
}
fout<<niv;
return 0;
}