Cod sursa(job #3298144)

Utilizator DragosDavidDavid Dragos Nicolae DragosDavid Data 27 mai 2025 14:52:08
Problema BFS - Parcurgere in latime Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.13 kb
#include <iostream>
#include <bits/stdc++.h>

using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
vector<vector<int>>netanyahu;
queue<int>lapid;
int v[123123];
int main()
{
    int n,m,s;
    for(int i = 1;i<=n;i++){
        v[i]=-1;
    }
    fin>>n>>m>>s;
    for(int i = 1;i<=n;i++){
        netanyahu.push_back({i});
    }
    int a,b;
    for(int i = 0;i<m;i++){
            fin>>a>>b;
            netanyahu[a-1].push_back(b);
    }
    for(int i = 0;i<netanyahu.size();i++){
        for(int j = 0;j<netanyahu[i].size();j++){
           // cout<<netanyahu[i][j]<<" ";
        }
        //cout<<'\n';
    }
    lapid.push(s);
    v[s]=0;
    int q= 1;
    while(!lapid.empty()){
            int bezalel=lapid.front();
        for(int i = 1;i<netanyahu[bezalel-1].size();i++){
            if(v[netanyahu[bezalel-1][i]]==-1){
                    v[netanyahu[bezalel-1][i]]=v[netanyahu[bezalel-1][0]]+1;
            lapid.push(netanyahu[bezalel-1][i]);
                }
        }
        lapid.pop();
    }
    for(int i = 1;i<=n;i++){
        fout<<v[i]<<" ";
    }



    return 0;
}