Cod sursa(job #3368959)

Utilizator Alex112358Glavan Alexandru Alex112358 Data 16 octombrie 2026 17:46:10
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <queue>
#include <map>
#include <fstream>
#include <algorithm>
#include <stack>

using namespace std;

int viz[100001];
map<int, vector<int>> LisAd;
int N, M, i, index, val, compConex;


void constrListAd()
{

	ifstream f("dfs.in");
	f >> N >> M;

	for (i = 1; i <= M; i++)
	{
		f >> index >> val;
		LisAd[index].push_back(val);
		LisAd[val].push_back(index);
	}



}

void DFS(int nod)
{
	viz[nod] = 1;
	for (int n : LisAd[nod])
		if (!viz[n])
		{
			DFS(n);
		}
}

int main() {

	constrListAd();

	for(i =1;i<=N;i++)
	{
		if(!viz[i])
		{
			DFS(i);
			compConex++;
		}
	}
	ofstream g("dfs.out");
	g << compConex;

	

	return 0;
}