Cod sursa(job #1899458)

Utilizator derz223Adam Alexandru derz223 Data 2 martie 2017 19:14:01
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("dfs.in");
ofstream g("dfs.out");


int x, y;
int n, m, i, counter;

stack<int> vecini;

int main()
{

    f>>n>>m;

    vector<list<int> >noduri(n+1);
    vector<bool> vizitat(n+1);

    for(i=1; i<=n; i++)
        vizitat[i] = false;
    for(i=1; i<=m; i++){
        f>>x>>y;
        noduri[x].push_back(y);
        noduri[y].push_back(x);
    }

    vecini.push(1);
    vizitat[1] = true;

    while(!vecini.empty()){

        int aux = vecini.top();
        vecini.pop();
        counter++;

        for(int tmp : noduri[aux]){
            if(vizitat[tmp]==false){
                vizitat[tmp] = true;
                vecini.push(tmp);
            }
        }



    }

    g<<counter;

    return 0;

}