Cod sursa(job #1626427)

Utilizator beny10Bia Beniamin beny10 Data 3 martie 2016 08:46:36
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
#include<vector>
#include<set>
using namespace std;
struct point
{
	set<int> vecini;
};
point x[100002];
int n,m,viz[100002],res;
ifstream f("dfs.in");
ofstream g ("dfs.out");
void df(int node)
{
    viz[node]=1;
    for(int i=1;i<=n;++i)
    {
		if(x[node].vecini.count(i) && viz[i]==0)
        {
            df(i);
        }
    }
}
int main()
{
    f>>n>>m;
    int aux1,aux2;
    for(int i=0;i<m;++i)
    {
        f>>aux1>>aux2;
		x[aux1].vecini.insert(aux2);
		x[aux2].vecini.insert(aux1);
    }
    for(int i=1;i<=n;++i)
    {
        if(viz[i]==0)
        {
			g<<i<<"\n";
            df(i);
            res++;
        }
    }
    g<<res;
    return 0;
}