Cod sursa(job #936702)

Utilizator s1mpMihai Alexandru s1mp Data 8 aprilie 2013 13:47:53
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<iostream>
#include<vector>
#include<fstream>
#define Nmax 100001
using namespace std;

vector <int> lista[Nmax];
int n,m,nr;
int vizitat[Nmax];

void DF(int k)
{vizitat[k]=1;
for(unsigned int i=0;i<lista[k].size();i++) if (vizitat[lista[k][i]]==0) DF(lista[k][i]);}


int main()
{
ifstream f("dfs.in");
f>>n;
f>>m;
for(int i=0;i<m;i++)
	{int x,y;
	 lista[x].push_back(y);
	 lista[y].push_back(x);}
for(int i=1;i<=n;i++)
	if (vizitat[i]==0) {nr++;DF(i);}
ofstream g("dfs.out");
	g<<nr;
f.close();
g.close();
	return 0;}