Cod sursa(job #2749076)

Utilizator Liviu_Ionut_MoantaMoanta Ionut Liviu Liviu_Ionut_Moanta Data 4 mai 2021 21:29:51
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,s,i,j,p,u,a,b;
vector <int> L[400000];
int v[100005],sol[100005];
int main(){
    fin>>n>>m>>s;
    for(i=1;i<=m;i++){
        fin>>a>>b;
        L[a].push_back(b);
    }
    p=1;
    u=1;
    v[1]=s;
    sol[s]=1;
    while(p<=u){
        a=v[p];
        for(i=0;i<L[a].size();i++){
            b=L[a][i];
            if(sol[b]==0){
                sol[b]=1+sol[a];
                u++;
                v[u]=b;
            }
        }
        p++;
    }
    for(i=1;i<=n;i++){
        fout<<sol[i]-1<<" ";
    }
    return 0;
}