Cod sursa(job #2668139)

Utilizator @dinescu.mateiDinescu Matei @dinescu.matei Data 4 noiembrie 2020 15:44:21
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>

using namespace std;

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

int n, m, start;
int dist[100005],bfs[100005];
bool found;

vector<int> v[100005],current,next;


int main() {

    for(int i = 0; i < 100005; i++)
        dist[i]=-1, bfs[i]=-1;

    f>>n>>m>>start;

    for(int i = 0; i < m; i++)
        {
            int a, b;
            f>>a>>b;
            v[a].push_back(b);
        }

    current.push_back(start);
    dist[start] = 0;
        for(int i = 0; i < current.size(); i++) {
            for(int j = 0; j < v[current[i]].size(); j++)
            {
                int node = v[current[i]][j];
                if(dist[node] < 0)
                {
                    current.push_back(node);
                    dist[node]= dist[current[i]] + 1;
                }
            }
        }


    for( int i = 1; i <= n; i++)
        g<<dist[i]<<" ";

    return 0;
}