Cod sursa(job #1843612)

Utilizator igroitaGroita Igor igroita Data 8 ianuarie 2017 22:31:31
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>

using namespace std;

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

int n, m, a[10000][10000], viz[10000];

void dfs(int i){
	viz[i]=1;
	for(int j=1; j<=n; ++j){
		if(a[i][j]==1 && viz[j]==0){
		dfs(j);
		}
	}
}

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