Cod sursa(job #2531827)

Utilizator mihaistamatescuMihai Stamatescu mihaistamatescu Data 26 ianuarie 2020 19:24:48
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
using namespace std;
vector<int> L[100010];
int n,m,a,x,y,p,u,crt,vec,i,d[100010],v[100010],c[100010];
int main () {
    ifstream fin ("bfs.in");
    ofstream fout("bfs.out");
    fin>>n>>m>>a;
    while (fin>>x>>y){
        L[x].push_back(y);
    }
    c[1]=a;
    v[a]=p=u=d[a]=1;
    while (p<=u) {
        crt=c[p];
        for (i=0;i<L[crt].size();i++) {
            vec=L[crt][i];
            if (v[vec]==0){
                c[++u]=vec;
                v[vec]=1;
                d[vec]=1+d[crt];
            }
        }
        p++;
    }
    for (i=1;i<=n;i++){
        fout<<d[i]-1<<" ";
    }
    return 0;
}