Cod sursa(job #2329268)

Utilizator The_one_and_onlyMironica Vasile The_one_and_only Data 26 ianuarie 2019 15:29:04
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;

ifstream cin("dfs.in");
ofstream cout("dfs.out");

typedef struct nod {
	int x;
	nod *a;
} *pNod;
pNod v[100010];
int n, m, k;

bool viz[100010];

void add(pNod &l, int val) {
	pNod p = new nod;
	p->x = val;
	p->a = l;
	l = p;
}

void dfs(int nod) {
	viz[nod] = 1;
	for(pNod i=v[nod]; v!=NULL; i=i->a)
		if(!viz[i->x])
			dfs(i->x);
}

int main() {
	cin >> n >> m;
	for(int i=0; i<m; i++) {
		int x, y;
		cin >> x >> y;
		add(v[x], y);
		add(v[y], x);
	}
	for(int i=0; i<n; i++)
		if(!viz[i])
			k++, dfs(i);
	return 0;
}