Cod sursa(job #213794)

Utilizator rak3uVulpe Mihnea rak3u Data 11 octombrie 2008 16:41:33
Problema Parcurgere DFS - componente conexe Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
using namespace std;
#include<fstream>
#include<iostream>
const int N=1000;
int a[N][N],n,m,viz[N],k;
void citire ()
{
	int i,c,v;
	ifstream in("dfs.in");
	in>>n>>m;
	for (i=1;i<=m;i++)
	{
		in>>c>>v;
		a[c][ ++a[c][0] ] = v;
		a[v][ ++a[v][0] ] = c;
	}
	in.close();
}
void df(int nod)
{
	int i,x;
	viz[nod]=1;
	for (i=1;i<=a[nod][0];i++)
	{
		x=a[nod][i];
		if(viz[x]==0)
			df(x);
	}
}
int main()
{
	ofstream out("dfs.out");
	int i;
	citire ();
	for (i=1;i<=n;i++)
		if (viz[i]==0)
		{
			k++;
			df(i);
		}
	out<<k<<endl;
	out.close();
	return 0;
}