Cod sursa(job #2700554)

Utilizator paisieRusu Paisie paisie Data 28 ianuarie 2021 01:19:36
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include<bits/stdc++.h>
using namespace std;

bool a[1005][1005];
bool viz[1005];
int n, m, x, y;
void dfs(int nod){
	viz[nod] = true;
	for(int i=1; i<=n; i++){
		if(viz[i] == false){
			if(a[nod][i] == true){
				dfs(i);
				
			}
		}
	}
}

int main(){
freopen("dfs.in", "r", stdin);
	freopen("dfs.out", "w", stdout);

	
	cin >> n>>m;
	for(int i = 1; i<=m;i++){
		cin >> x>>y;
		a[x][y] = a[y][x] = true;
	}
	int cnt = 0;
	for(int i =1; i<=n; i++){
		if(viz[i] == false){
			cnt++;
			dfs(i);
		}
	}
	cout << cnt;

}