Cod sursa(job #1240958)

Utilizator lucian.okapiNestian Lucian-Dan lucian.okapi Data 12 octombrie 2014 13:31:25
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <vector>
#include <fstream>

using namespace std;

vector <int>L[200];

int V[200];

int m,n,q;

ifstream fout("dfs.out");

ifstream fin("dfs.in");

void Citire()
{
    fin>>m;
    fin>>n;
    int i,x,y;
    for(i=1;i<=m;i++)
        {
            fin>>x>>y;
            L[x].push_back(y);
            L[y].push_back(x);
        }
    fin.close();
}

void Afisare()
{
    int i,j;
    for(i=1;i<=m;i++)
    {
        cout<<i<<" ";
        for(int j=1;j<L[i].size();j++)
            cout<<L[i][j]<<" ";
        cout<<"\n";
    }
}

void DFS(int x)
{
    if(!V[x])
    {
        V[x]=1;
        for(int i=0;i<n;i++)
            DFS(L[x][i]);
    }
}
int main()
{
    Citire();
    for(int i=1;i<=n;i++)
        if(V[i]==0)
        {
            q++;
            DFS(i);
        }

    fout<<q;

    return 0;
}