Pagini recente » Cod sursa (job #2458415) | Istoria paginii utilizator/bn_88_cip | Cod sursa (job #2956993) | Cod sursa (job #1761751) | Cod sursa (job #1703089)
#include<iostream>
#include<fstream>
#include<conio.h>
using namespace::std;
int m, n, i, k, viz[100], x, y;
typedef struct nod
{
int info;
nod *next;
} *pN;
pN a[1000];
void add(pN &dest, int val)
{
pN q;
q = new nod;
q->info = val;
q->next = dest;
dest = q;
}
void Dfs(int nod)
{
pN p;
viz[nod] = 1;
for (p = a[nod];p!=NULL;p=p->next)
if (viz[p->info]==0)
Dfs(p->info);
}
void citire()
{
ifstream f("dfs.in");
f >> n >> m;
for (i = 1; i <= m; i++)
{
f >> x >> y;
add(a[x], y);
add(a[y], x);
}
}
int main()
{
ofstream g("dfs.out");
citire();
for (i = 1; i <= n;i++)
if (viz[i] == 0)
{
k++;
Dfs(i);
}
g<< k;
}