Cod sursa(job #904645)

Utilizator STOLO13FMI-Mocioi Andreie STOLO13 Data 4 martie 2013 17:44:06
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
//Parcurgere_DFS- componente conexe
//aflati nr componentelor conexe ale grafului
#include<fstream>
#include<vector>
#define MAX 100001
using namespace std;
int ap[MAX];
vector <int> vec[MAX];

ifstream f("dfs.in");
ofstream g("dfs.out");

void DF(int nodPlecare){
	int i;
	ap[nodPlecare]++;
	for(i=0;i<vec[nodPlecare].size();i++){
		int nodver=vec[nodPlecare][i];
		if(!ap[nodver]){
			ap[nodver]++;
			DF(nodver);
		}
	}
}
	
	
int main(){
	int n,m;
	f>>n>>m;
	int i,j;
	while(m){
		m--;
		f>>i>>j;
		vec[i].push_back(j);
	}
	int nrConex=0;
	for(i=1;i<=n;i++)
		if(!ap[i]){
			ap[i]++;
			nrConex++;
			DF(i);
		}
	g<<nrConex;
}