Cod sursa(job #855484)

Utilizator andreeadeacAndreea Ioana Deac andreeadeac Data 14 ianuarie 2013 23:49:59
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>
#include<vector>
using namespace std;
vector<int> v[100];
int vazut[100];
void dfs(int nod){
vazut[nod]=1;
for(int i=0;i<v[nod].size();i++)
	if(!vazut[v[nod][i]])
		dfs(v[nod][i]);
}

int main(void){
	FILE *f,*g;
	f=fopen("dfs.in","r");
	g=fopen("dfs.out","w");
	int n,nr=0;
	fscanf(f,"%d",&n);
	int m,i;
	fscanf(f,"%d",&m);
	for(i=0;i<m;i++){
		int x,y;
		fscanf(f,"%d%d",&x,&y);
		v[x].push_back(y);
		v[y].push_back(x);
	}
	for(i=1;i<=n;i++)
		if(vazut[i]==0)
		{
			dfs(i);
			nr++;
		}
	fprintf(g,"%d",nr);
	fclose(f);
	fclose(g);
return 0;
}