Cod sursa(job #2550514)

Utilizator RobertuRobert Udrea Robertu Data 18 februarie 2020 20:35:08
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <vector>
#include <queue>
using namespace std;

vector < vector<int> > v;
queue <int> coada;
int viz[1001];

void bfs(int nod) {
    viz[nod] = 1;
   coada.push(nod);

    while( !coada.empty()) {
        for(int i = 0; i < v[ coada.front() ].size(); i++)
            if( !viz[ v[coada.front()][i] ] )
                coada.push( v[coada.front()][i] ), viz[ v[coada.front()][i] ] = 1;

        cout << coada.front() << " ";
        viz[ coada.front() ] = 1;
        coada.pop();
    }
}

int main()
{
    int n, m, i, j, k;
    cin >> n >> m;

    for(i = 0; i <= n; i++) {
        vector<int> a;
        v.push_back(a);
    }

    for(k = 0; k < m; k++) {
        cin >> i >> j;
        v[i].push_back(j);
        v[j].push_back(i);
    }

    bfs(1);

    return 0;
}