Pagini recente » Cod sursa (job #2957995) | Cod sursa (job #139497) | Cod sursa (job #2773809) | Cod sursa (job #1408227) | Cod sursa (job #1173523)
#include<fstream>
using namespace std;
int n, m,c,s[100001];
ifstream f("dfs.in",ios::in);
ofstream g("dfs.out",ios::out);
struct nod
{
int info;
nod *adr;
} ;
nod* v[100005];
void adaugare(nod*&dest, int nr)
{
nod* p;
p = new nod;
p -> info = nr;
p -> adr = dest;
dest = p;
}
void citire()
{
int i, x, y;
f>>n;
f>>m;
for (i = 1; i <= m; i++)
{
f>>x;
f>>y;
adaugare(v[x], y);
adaugare(v[y], x);
}
}
void df(int nr)
{
nod* p;
s[nr] = 1;
for (p = v[nr]; p != NULL; p = p -> adr)
if (s[p -> info]==0)
df(p -> info);
}
int main()
{ int i;
citire();
for (i = 1; i <= n; i++)
if (s[i]==0)
{ c++;
df(i);}
g<<c;
return 0;
}