Cod sursa(job #1967671)

Utilizator DimaTCDima Trubca DimaTC Data 16 aprilie 2017 22:12:23
Problema Parcurgere DFS - componente conexe Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#include<vector>
#define NMAX 100010
using namespace std;

vector <int> V[NMAX];
int n,m,k;
bool viz[NMAX];

ifstream cin("dfs.in");
ofstream cout("dfs.out");
int DFS(int x) {
	viz[x]=1;
	for (int i=0; i<V[x].size(); i++)
	   if (!viz[V[x][i]]) DFS(V[x][i]);
}
int main(){
	cin>>n>>m;
	
	for (int i=0; i<m; i++) {
		int x,y; cin>>x>>y;
		V[x].push_back(y);
		V[y].push_back(x);	
	}
	
	for (int i=0; i<n; i++) 
	  if (!viz[i]) {
	  DFS(i); k++;
	  }
	  
	cout<<k;  
	
}