Cod sursa(job #2030826)

Utilizator R.DavidDavid Rusu R.David Data 2 octombrie 2017 12:35:32
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;

int dfs(int);

ifstream input("dfs.in");
ofstream out("dfs.out");

int n,m,legaturi = 0;

vector<int> nds[100005];

int main()
{
    int i ,x ,y;

    input>>n>>m;

    for(i = 1; i <= m; i++)
    {
        input>>x>>y;
        nds[x].push_back(y);
        nds[y].push_back(x);
    }

    dfs(1);

    out<<legaturi;
}

int dfs(int node)
{
    if(node <= n)
    {
        for(int i = 1; i <= nds[i].size();i++)
        {
            if(nds[node][i] != -1)
            {
                nds[node][i] = -1;
                legaturi += 1;
                dfs(nds[node][i]);
            }
        }
    }
}