Cod sursa(job #2748809)

Utilizator paisieRusu Paisie paisie Data 3 mai 2021 15:42:30
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define forr(X) for(int i = 0; i<X; i++)

int n, m;
int a[1005][1005];

int dfs(int x){
	if(a[x][n+1] ==0){
		a[x][n+1] = 1;
		for(int i =1; i<=n; i++){
			if(a[x][i] == 1){
				dfs(i);
			}
		}	
	}
	else return 0;
	
}

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

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