Cod sursa(job #2117712)

Utilizator andriescudianaAndriescu Diana andriescudiana Data 29 ianuarie 2018 11:46:49
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
#include <vector>
#include <queue>
using namespace std;

ifstream fin("BFS.in");
ofstream fout("BFS.out");

int i;
int nr, m, start, a, b, nod, apare[104], lg;
vector <int> lista[104];
queue <int> coada;

int main()
{
    fin >> nr >> m >> start;
    for(i=1; i <= m; i++)
    {
        fin >> a >> b;
        lista[a].push_back(b);
        lista[b].push_back(a);
    }

    fout << start << ' ';
    apare[start] = 1;
    coada.push(start);
    while(coada.size() > 0)
    {
        nod = coada.front();
        lg = lista[nod].size();
        for(i=0; i < lg; i++)
        {
            if(apare[lista[nod][i]] == 0)
            {
                fout << lista[nod][i] << ' ';
                apare[lista[nod][i]] = 1;
                coada.push(lista[nod][i]);
            }
        }
        coada.pop();
    }
}