Cod sursa(job #2193646)

Utilizator SebastianGiurgiuGiurgiu Sebastian Mircea SebastianGiurgiu Data 10 aprilie 2018 20:39:39
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<iostream>
#include<fstream>
#include<vector>
#define infinty INT_MAX

std::ifstream f("dfs.in");
std::ofstream g("dfs.out");


std::vector<int> Muchii[10];
bool vizitat[10];
int insule = 0;

void DFS(int s) {

	vizitat[s] = true;
	for (unsigned int i = 0; i < Muchii[s].size(); i++) {

		int vecin = Muchii[s][i];
		if (!vizitat[vecin])
			DFS(vecin);
	}

}



void citire() {


	int N, M, x, y;
	f >> N >> M;

	for (int i = 1; i <= M; i++) {
		f >> x >> y;
		Muchii[x].push_back(y);
		Muchii[y].push_back(x);

	}

	for (int i = 1; i <= N; i++) {

		if (!vizitat[i]) {
			insule += 1;
			DFS(i);
		}

	}
}




int main() {

	citire();
	g << insule;
	return 0;
}