Cod sursa(job #1703087)

Utilizator srefan1Oncioiu Stefan srefan1 Data 16 mai 2016 10:21:05
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#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("Text.txt");
	f >> n >> m;
	for (i = 1; i <= m; i++)
	{
		f >> x >> y;
		add(a[x], y);
		add(a[y], x);
	}

}

int main()
{
	
	citire();
	
	for (i = 1; i <= n;i++)
	if (viz[i] == 0)
	{
		k++;
		Dfs(i);
	}

	cout<< k;
}