Pagini recente » Cod sursa (job #812145) | Cod sursa (job #1139950) | Cod sursa (job #2485748) | Cod sursa (job #1568192) | Cod sursa (job #2814974)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, viz[100005],c,a[257][257];
struct nod
{
int info;
nod* leg;
};
nod *v[100005];
void adaug_fata(nod*& p, int x)
{
nod* r;
r = new nod;
r->info = x;
r->leg = p;
p = r;
}
void citire()
{
nod *p = NULL;
nod *q = NULL;
f >> n >> m;
int i, x, y;
for (i = 1; i <= m; i++)
{
f >> x >> y;
adaug_fata(p, y);
adaug_fata(p, x);
}
}
void DFS(int n)
{
int i;
viz[n] = 1;
nod* p;
for (p=v[n]; p!= NULL; p = p->leg)
if(viz[p->info]!=0)
{
viz[p->info] = 1;
DFS(p->info);
}
}
int main()
{
citire();
int i;
for (i = 1; i <= n; i++)
if (viz[i] == 0)
{
c++;
DFS(i);
}
g << c/2;
}